Slashdot Mirror


User: evilpenguin

evilpenguin's activity in the archive.

Stories
0
Comments
724
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 724

  1. Re:Please include in any contract... on Futurama to be Resurrected? · · Score: 1

    I don't think anyone here was suggesting that Futurama be run in place of the last fifteen minutes of some NFL game. I think they were suggesting that perhaps Futurama should have been run in a regular time slot on some other night. A show that is still finding an audience simply will not live in the variable "post game" slot.

    Don't worry about your karma. The universe handles that...

  2. Re:Mod parent DOWN! on How To Get Into Programming? · · Score: 1

    Let me just pop in here again to say (as I said in another upthread post) I wasn't *seriously* suggesting the parent post be modded down! I was just trying to counter the overenthuiastic "Mod Parent UP!" post that followed the advice to learn perl first.

    I, like you, think that perl is a terrible choice for first programming language and that is what my post was about. Also, again for the record, I don't hate perl. I like it. A lot. I use it every day. Why? Because the same things that make it terrible as a first programming language make it great for a third or fourth one. It's bizzare idioms, once understood, allow you to do a lot of the grunt work of IT with just a few lines of code. Perl is a grubbily practical language. That makes it a great tool, but a lousy teacher, which is why leapt in to the discussion in the first place.

    So, to sum up: Wasn't seriously encouraging mod down. Perl use, good. Perl to learn programming, bad. Ice cream, good. Murder, bad. Thank you for your time. ;-)

  3. Re:Because the country is being run by assholes on White House Cease & Desists to The Onion · · Score: 1

    Have you ever wondered where your next meal was coming from?

    Just curious.

  4. Re:0, REDUNDANT on How To Get Into Programming? · · Score: 1

    Yeah, I'm genuinely sorry if people modded you down because of my choice of a cute title. It is still my opinion that perl is way too "whacky" to be a good first programming language. It is tremendously useful, and good idiomatic perl, while difficult to read, is really powerful. I just think the progression should be from a strongly typed language to typeless ones.

    As for the objects/no-objects debate, well, since I learned before OO became widely available, obviously it is possible to go from non-objects to objects, but I often wish I had the chance to do it the other way. While the people who suggest that objects are not the best model for some problems are right, I would suggest that the set of those problems is small, and that shifting yourself to an object mindset is harder than going that other direction.

    Thinking in objects is very powerful and IMHO there are a great many people who think procedurally and use an object library, without ever factoring their part of the problem space into a rational set of classes. Such people say they know object-oriented programming, but I would assert that they do not.

    Just my opinion, of course!

  5. Re:Mod parent DOWN! on How To Get Into Programming? · · Score: 2, Interesting

    Yes. I was surprised to find myself saying so, because C is, in a sense, terribly advanced. But I'm hard pressed to think of an alternative this is more suitable. If you stick to straight C, "stdlib.h" "stdio.h" type stuff you can learn and do a lot of useful things, and it is portable to virtually every C/C++ compiler on earth, and you will get some of that "close to the metal" experience that teaches you how these machines *really* work. Then you can go on to the world of IDEs and VM languages and GC and appreciate all that they do for you (and all of their overhead!)

    My experience went timeshare BASIC, Z80 Assembly (to write a bootstrap for my Dad's homebrew S-100 bus machine - he was a EE, and I got to do the code), various BASIC variants, Turbo Pascal (for CP/M! How many have *that*!), C, more C, still yet again more C, C++ (haltingly), perl, Java, PHP.

    Various less important scripting language along the way. Also did some lex/yacc work, wrote my own "compiler" (compiled a pseudo-code representation of reports into runnable perl code).

    Did a lot of embedded work with the Z80. A local amateur radio repeater uses my code, as does a local school's hockey scoreboard. There is also something to be said for being forced to keep an entire program below 4k in size (2732 EEPROMs). I'd also say that some experience writing interrupt service routines is helpful, although learning to use a multi-threaded process library like pthreads gives you somewhat comparable experience.

    Beyond that, you need to learn referential data structures and some of the algorithms for handling them, linked lists, queues, stacks, dequeues, binary trees, hashed lists, etc. If you've got that, recursion, reentrancy, and threading, well, you've got the tools to confront most common programming problems.

    Of course, these days you don't really need to know how to do most of these things because the big object libraries contain them all, but I still think you need to know how to write them, how they work, and how to quantify their performance. You need to know *why* you would choose a given container for a given application. You need to know why you might use one for structure of a certain size, and use another if the structure grows, etc.

    But I do think it is a-ok to merely dabble. To just do if-thens and a couple of fors. I think owning a computer without learning any programming is like buying a jet airplane and only taxiing around the airfield.

  6. Re:Yeah, VB.Net if on How To Get Into Programming? · · Score: 2, Interesting

    Not really flamebait. Yeah, it's written in a "flamy" way, but I think there is a serious point being made that VB.NET skills will not be very helpful in programming in a different language/environment.

    I would not recommend VB.NET as a "first language" to learn programming.

    That said, I wouldn't discourage someone from learning it. There's a lot of work to be had developing in it.

    But I wouldn't make it either the first or the only language I learn. It comes from one vendor and runs on one platform (Mono notwithstanding!)

  7. Re:Mod parent DOWN! on How To Get Into Programming? · · Score: 1

    Oh, a couple more things. First, I'm not really suggesting that the grandparent post be modded down! I'm just disagreeing with it! It's a good post in and of itself. And totally intended to be helpful to the questioner, so please don't mod down the poster who first suggested perl!

    Next, it might be more helpful if I mentioned a few more details.

    Any Linux distro will include all the tools you need to do free C development (and perl, and python, and, with just a little work, Java). Fedora Core 4 gives you an actual "Free Software" version of Java (oddly enough, native compiled even).

    Now, some books that might help:

    For C, I'm out of touch. I learned it almost 20 years ago now. The Kernigan and Ritche "The C Programming Language" is still the "bible," but I don't think it is good tutorial. Browsing about, Stephen Kochan's "Programming in C, 3rd Edition" looks good, but I haven't read it.

    For Java, "Thinking in Java" by Bruce Eckel is a great starting point.

    For both Python and Perl I like the O'Reilly titles "Learning Python" and "Learning Perl."

    The "Programming Perl" title by Wall, et. al. is, like the K&R C book, the "bible," but not a good tutorial.

    Hope this helps!

  8. Mod parent DOWN! on How To Get Into Programming? · · Score: 4, Informative

    Oh my God!

    I won't say this is completely wrong, because perl is a language where you can do an awful lot of useful things with a very small investment of time and effort, but the idea that one can learn "principles" of programming from our favorite hydra of a language is not a good one.

    IMHO (which is not H, BTW), I would start with a language that has a more coherent design.

    The big question is "objects" or "not objects." Secondarily, native compiler or scripted/VM language (which has more to do with getting used to the toolchain).

    I'm going to assume that you would like all the software to be free of charge.

    If you are going for objects, I would recommend starting with Java or Python. I would NOT recommend C++ because it is a complex hybrid of C and objects, doesn't have a single inheritance model, and gets enormously complex in its effort to cover all possible bases. Not that C++ can't be a great language, I just think it is not a best first stop.

    If you are going for non-objects, believe it or not, I would recommend C.

    Yes, C is full of pitfalls, but it is a simple language in design, easy to learn , but difficult to master. It can express powerful data constructs with simplistic data types and the experience of it translates well both "down" to assembly and "up" to other "safer" but more complex procedural languages. C is also a "classic native compiled" toolchain, which will stand you in good stead for all such similar toolchains.

    Java I recommend from experience, Python from reputation (people I know, respect, and trust like Python -- I haven't yet had occasion to go much beyond the "Hello, world" stage with it).

    As for how to start, for both of my "basic" choices, C and Java, I recommend beginning with a simple text editor and the command-line tools. Master using these for a few multi-file projects. In C, get used to writing and maintaining a Make file. Once you are comfortable with these basics, feel free to move to IDEs for simplifying/streamlining. But learn those low level skills so you don't become what I lovingly term a "tool junkie:" a person who can only be productive with a certain set of tools from a certain vendor.

    Back to perl for a moment: Please folks, don't think I'm trying to get religious about perl. I love perl. I use perl every day. But a programmer learning programming from perl is like a chemisty student learning the definition of "exothermic" with dynamite. Perl is, by Larry Wall's own admission (nay, boast) "pathologically eclectic." Perl's whole philosophy is "there's more than one way to do it." For learning, I like a language where there is one right way to do it. That way you don't develop bad or confusing habits. Once you have discipline and style, you move to the more expressive languages and you make good code with them. Bad perl code is just plain terrifying. In my 20 years of programming, once I got beyond BASIC, which is very much a toy, I went to Pascal. Pascal is a great (IMHO) learning language. But I don't see a lot of Pascal development these days (outside of variants like Delphi, which, I'm afraid, take you down the "tool junkie" path).

    Anyone got a great compiled procedural language suggestions besides C?

  9. Does have the potential? on The Electrocharger...Any Day Now? · · Score: 4, Funny

    "Does have the potential to be an environmental friend or disaster?"

    I know enough logic to know the answer to this question is definitely "yes." ;-)

  10. Re:Only slightly kidding here... on Changing a Windows Network to Linux? · · Score: 1

    I get more work as a software developer. I'm doing a PalmOS with Java backend job, and I'm doing the analysis and architecture work on a contract to convert a bunch of haphazard MS Access apps to a unified Java/Struts front, Oracle backend.

    I'm keeping busy.

    I'm open to the infrastructure work too. Experienced in both.

    I'm one of the authors of "Multitool Linux" (out of print now) and "Java Applications Development on Linux" which is a Bruce Peren's Open Source Series book. They help convince potential clients.

    I use my whole network to find jobs. If you don't hae any clients or backing (or a lot of personal savings) I wouldn't leap in, but you can build this kind of practice part-time. If you are basically competent and you can really support the customers.

  11. Only slightly kidding here... on Changing a Windows Network to Linux? · · Score: 4, Insightful

    Hire an experienced Linux administrator.

    Seriously.

    The first post on this thread has a good suggestion on how to begin getting personal experience with Linux, but seriously, you are talking about pretty big change here, even if you only have a few servers.

    Which distro will you choose? Why?
    Do you know enough about the system to handle a problem when it occurs?
    How much does downtime cost your business?
    Would signifcant downtime due to your ignorance of the platform cost more than maintaining and securing the Windows solution you already have?

    If you don't have the expertise, it isn't reasonable to ask your employer to pay for you to acquire it in production.

    Believe me, I am all for converting businesses, especially small to medium sized businesses, to an open-source infrastructure, but at first glance this seems like you are just begging for trouble.

    I'm quite serious when I say if you want to do this, contract out to an expert who does this. I charge $95/hour plus travel/lodging expenses... ;-)

    Otherwise, maintain what you have and develop sufficient expertise on your own. Convert when you know the answers to all the questions I asked above (and then some), but not before.

  12. Re:Ham Radio on Communications Infrastructure No Match for Katrina · · Score: 1

    Wait a minute. Are you saying the code requirement for the General class license is already gone? I let my no-code tech license lapse because I wasn't interested in doing the Morse code thing (yes, the old hands are right, including the fact that with morse you can send a signal even if all the audio stage of your rig is dead and all you can do is cycle the carrier, but c'mon!)

    See, I know enough electrical engineering and RF to pass the theory test (although I'd have to bone up on the regs, freqs, and other esoterica), but I've always let the morse requirement stop me. I wonder if my call sign is still available? (I used to be N0ZES) and I wonder if my Dad's (silent key, he was W0VDI) is atill available.

    Maybe its time to get back into it...

    BTW, ham 3rd party communications in emergencies is the main reason to keep the hobby around, keep the bands around, and, yes, to keep it closed to the unlicensed. We (well, they now) are allowed to radiate a lot of power (200W on VHF and UHF, and 1500W on HF -- That's about 200 to 155 times more power than your cell phones) (Actually, that's a guess, I don't know what the power limit on cell phone signals is, but I'd be surprised if it over 1 watt. I'd be shocked if it was as much as 5 watts -- my guess is they are 50-750mW, anyone here know?)

  13. Re:The creators site is here on x86 Emulator on PSP Runs Windows & Linux · · Score: 1

    What difficulties are you having? I run it all the time. I've installed both Fedora and Win2K under it.

    It is important to keep in mind that bochs is an emulator. If you like VMWare, stick with it. Bochs isn't fast.

    On the other hand, I've installed and run bochs on my Sparcbook, and it lets me run that win2K image on a Sparc machine. You can't do that with VMWare.

  14. Re:Only 5% of users were using StarOffice on Scottish Police Revert to Microsoft Office · · Score: 2, Interesting

    I love it! We actually have a vi flamewar going in a Microsoft v. Open discussion!

    Now I wish I used emacs so I could turn this into a emacs v. vi flamewar!

    Seriously, I use and love vi. I wouldn't use it to sell newbies on *nix, Linux, or Free Software as an alternative to Windows.

    vi is a great editor once you climb its serious learning curve. Oddities like the ed mode versus the visual mode actually turn out to be strengths, but let's face it, they are oddities created from mashing a cursor-addressible editor onto a TTY style line editor. vi is a Frankenstein's monster of an editor. And like that creature it is powerful and dangerous.

    I always edit with vi (well, vim these days), but I'd start a newbie out with pico or kate or some such thing.

  15. Python or Java on Best Language for Beginner Programmers? · · Score: 1

    It depends. I think schools should emphasize the academic-like concept of free software, and there I would suggest Python. It teaches good coding, both in design and in style.

    If the class is viewed as more vocational, then I'd suggest Java. I love the language (although I still have some problems with Sun's VM on some platforms) and it is quite widely used in business. I just wish it were open source. (Although you might want to look at Fedora Core 4, which comes with Eclipse compiled natively and set up to develop Java code using gcj, a native compiler for Java and, yes, free software! The only issue there is that the APIs for Java are "variably" implemented (some are up to current Java, some, like the Swing GUI API, are not implemented at all)

  16. Re:American jobs! on Siberian Permafrost Melting · · Score: 1

    Could you give me the name of the peer reviewed journal in which you read your "real science" please?

    The titles of the papers would be helpful as well.

  17. By allowing them... what? on Another View of the FCC and Spectrum Scarcity · · Score: 2, Interesting

    I'm a little bit confused by the story leader. It doesn't appear to be a coherent sentence. I presume it means that the FCC should allow those bands to be used by unregulated transmitters.

    It is true that if all players work on a common form of time-division multiplexing that the number of transmitters can scale very widely, but there is nothing magical about these bands (other than them being wide -- much wider than, say, AM or FM broadcast bands). Transmitters will interfere with one another. Poorly designed or built transmitters will radiate out of band. Intermodulation will occur, causing out of band interference.

    The FCC may or may not be the best regulator, but someone has to resolve the disputes, and I guess I'd rather it was through regulation than through lawsuits (which would happen in the absence of regulation, I guarantee it).

  18. Re:It's the Wall Street Journal, people on Linux Feels Growing Pains · · Score: 1

    I'll feed the troll. Who said it was worth nothing? The value lies not in the product, which may be infinitely reproduced for free, but in the skilled developers who make the stuff. Most programmers do not work for software companies! Most work in engineering or MIS developing code that is tightly coupled to a tanglible product or to a the needs of a specific business. These people and their skills have value, not the "product."

    There should be no reason that a business or a widget that has code in it should have less value simply because the code is freely available.

    The code that everyone uses is the most likely to be of greater value when "Free," like spreadsheets and operating systems. What isn't likely to be Free is code that is of value only in a specific device or for a specific business's needs. Well, it might be Free, but by definition, no one else would really want it.

    Free Software is, IMHO, a transition of value away from the code product (which only has value because of an artificial scarcity caused by the artifice of IP law coupled with the mathematical accident that compilation is tanatamount to encryption) to the skilled developer.

    I develop (mostly) Free Software and I am paid quite handsomely for it.

    If it weren't for the fact the compilation implies information loss, there wouldn't be anything but Free Software. Put it another way, what if the machines ran source code instead of object code? Who would be making the irrational argument then?

  19. Re:It's the Wall Street Journal, people on Linux Feels Growing Pains · · Score: 1

    Just so you know, I do not disagree with you.

    But there is a difference between "Linux" (as a platform, not just the kernel) and any given distribution of the same. A distro company can fail and the platform continue on merrily. It is the "tone" that brought out my "cluestick" comment, not the facts or assertions of the interviewees, which are just fine with me.

    I also agree that it is the "executrons" that need to be convinced of a platform's risks and benefits if you want to penetrate the business market.

    See my other response above.

    It has to do with the fact that Linux (and other FOSS tools) will be taken up by businesses where they fit, whether or not there is "acceptance" at the top. Witness all the places such tools are used right now.

    My "cluestick" comment has to do with the WSJ's obsessive need to place the products in a zero-sum game and to cast in terms of "momentum" between what must ultimately be the winning and losing platform.

    I do NOT disagree at all that the amount of "penetration" any platform gets will be in proportion to its value and utility to a business. And that is just as it should be.

    I stand by my opinion, however, that in general, the Wall Street Journal has a difficult time understanding FOSS, and continues to try to cast into the mold they know well: competing proprietary products. The fortunes of the commerical distributions rise and fall on that, but the platform does not. It has many users who do not buy it, and it will continue to be used and developed by those people. And that includes private companies paying people to do, even if every "distro vendor" goes out of business, because in many cases, the value is compelling to businesses. (I work for one such company that pays me to contribute some of my time a GPL'ed project because the company uses that product.)

    I must admit, however, that I regret my original post because it was brief and glib and highly open to misinterpretation. I don't retract it, but I do wish I had elaborated my argument a little more and had not used the word "cluestick" at all ;-)

  20. Re:It's the Wall Street Journal, people on Linux Feels Growing Pains · · Score: 1

    I don't disagree with that.

    I also (if you read my comment) don't disagree that tools like those called for are needed to advance the cause of corporate uptake. My issue is purely with the spin that "Linux could 'lose momentum.'"

    It is part of the general "FUD-ish" pattern that has dogged Linux (and Free Software) since day one. It is part of the "It'll never fly, Orville" pattern. And that the WSJ would take that view should surprise no one. That was my sole point.

    I took and take no exception with the facts presented in the piece, nor with the fact it might be a sound business decision to "unadopt" an open source platform.

    Technical merit is not the sole criterion for tool use (in fact, I would argue, in a business setting, it is rarely high on the list of ciriteria at all).

    I'll even go further. I'm not sure that Linux (using it in the sloppy distro sense, as you insist) wins on "technical merit" over any other given choice (except for the "programmer/text manipulation"-friendly sense that any *nix-like platform earns).

    My desire for the cluestick has to do with the "all or nothing" mentaility. That Linux must be the sole platform in order to "win" a business. That somehow "losing momentum" means the platform "loses."

    That simply isn't so. Especially for a Free Software platform. The tool doesn't go away because, for example, Red Hat does. That's the cluestick issue to me.

  21. It's the Wall Street Journal, people on Linux Feels Growing Pains · · Score: 3, Insightful

    This is typical of the WSJ. They are quite simply baffled by Free Software and Open Source. This is a newspaper that will never understand the logic of Free Software.

    It shouldn't be surprising that the article has this spin.

    Not that I think it is "wrong," per se. These tools are something that some businesses want and need, but observe the core confusion in the piece: The inability to separate "Linux," the kernel, from the distributions that package all the software. These management tools exist, there are even closed and proprietary ones (look at offerings from IBM and CA).

    WSJ simply needs a smack with the ole cluestick.

  22. Re:Smalltalk on HP Fires Father of OOP · · Score: 1

    It would (IMHO) get a number of persistent and irrtiating bugs cleaned up. It would develop a considerable increase in the optomization of Java applications (people could avoid doing things in a VM-hostile fashion). It would allow the users of the language to directly enhance the language.

    This last point is, of course, what Sun fears. They use the "fragmentation" word all the time. That's the same argument we used to hear all the time about the Linux kernel and the Apache web server.

    Sure, there would be fragmentation. But I have no problem with Sun continuing to write the standard and to do the compliance certification.

    But the free software environment is "natural selection" in the extreme. Fragmentation hasn't generally happened where it is harmful. The "market" has generally taken a "there can be only one."

    Not to say that "fragmentation" doesn't occur in some form. Look at the staggering (even stupefying) number of Linux distributions. But that is an "ecology" where demand exists for different distributions based on application, features, and, yes, even politics.

    I, for one, would like to see operator overloading in Java, despite the very excellent reasons for leaving it out initially. It remains a feature subject to terrible abuse. (What, for example, would it mean to increment an Employee?)

    But I can tell you exactly where and why I want it. There is often a need to create a specific numeric class. Whether that be a Currency class, or the already-provided BigDecimal class, it is extremely irritating to have to use add(), sub() methods or to have to use getValue() methods that return a primitive type.

    Operator overloading, used well, can be a very nice feature.

    I used to say "templates", but they added something very like it in "Java 5." (BTW, don't get me started on Java version number and version names: Java 1.2, 1.3, and 1.4 are all "Java 2?" What the heck is that? And now Java 1.5 is "Java 5?")

    The other big reason is that I, frankly, hate lock-in. I will select an open tool over a closed one any time. Too often in my experience the goal of software companies is to lock you in to their platform and then force you to buy their tools over and over again. You may not care about that, but I do. So I will always select open over closed because I'm not dependent on the whim or fortunes of a company over which I have no control.

    Now, I code for other people. I choose these things for myself and when I have a choice. If my client says "you will use Oracle" I will use Oracle, so I'm not a purist or an idealogue. I use what I must. But I "vote with my feet" when I can.

  23. Re:Eclipse? on IBM Collaborating With Open Source Java Project · · Score: 2, Insightful

    There is an open source C#. Take a look at Mono, which is a completely open source CLR and C# compiler. They have implemented most of .NET (although not the Windows GUI, they have a GTK GUI which also runs on Windows, so you can write C# on *nix and run them on Windows directly).

    I have read that Mono is complete enough to run VB ASP.NET applications natively on a *nix box. (But not VB GUI apps since they don't have the Windows GUI classes implemented).

    As for "Open Source" bias, it ranges from a political belief that all software should be Free (Stallman), to a more practical belief that no one shoul be subject to proprietary lock-in, which is awlays a risk with a single-vendor closed product.

    For some it is just the desire that software be free (as in pay no money for it).

    I personally subscribe to the "Free Software" philosophy. I believe that we should always be able to see, use, and extend the code we use.

    This is why whenever possible I release my code under the GPL. (Mind you, I haven't put anything out there that anyone has really wanted to use! But it is there, in no small part as payment for all the great Free Software I have been able to use.)

  24. Re:HP at low revs... on Utah Teens Invent Better Air Conditioner · · Score: 1

    DC electric motors can be built to have far more torque than any internal combustion engine. It's one of two reasons that railroad locomotives are motor generators (the huge diesel engines generate electricity and electric motors turn the wheels).

    The other major reason, of course, is that by using electricity it is fairly easy to hook multitple locomotives together to haul a load. Imagine having to hook up multitple locomotives through a mechanical drive train and then keep all the engines in perfect sync, with perfectly even throttle/rpms? I can't imagine such a system. Well, I can. But I wouldn't want to have to build it, maintain it, or use it!

    The torque of a DC motor is limited only by the number turns of wire you've got and the strength of the driveshaft (and, of course, on the amount of electricity available!)

    Of course, now I have to admit that I don't know any details about the specs of the Prius' motors, but I haven't heard that they have poor acceleration. They also have CVTs, so they might very well seem to accelerate better simply because it is continuously smooth...

  25. Re:Smalltalk on HP Fires Father of OOP · · Score: 1

    Someday I am going to have to learn Smalltalk so I can see precisely what you mean by this. My experience with OO started well into my programming career (started professional programming in the mid 1980's, and even though both Smalltalk and even C++ had been around for a while, they weren't very widely used in the bowels of Corporate America, which is where I was coding many of those boring old business apps).

    I've coded extensively in Assembler (8080, Z-80, x86), in C (still my favorite procedural language), Pascal (not my favorite, although I miss range types and Pascal-style enumerations), C++ (for which I have a love/hate thing going -- It is so needlessly messy, but gives me "close to the metal OOP"), Java (which I *like*, although it is the language I like, not so much the VMs and certainly not the way Sun won't set it free -- an LGPL'd or GPL'd Sun Java SDK would be so great!), and of course, a host of scripting languages (shell, awk, perl, PHP, I'm just starting to play with Python).

    I've had many people whose skills and opinions I respect talk up Smalltalk to me. I'd love to see just some bullet points, like "Top 5 Reasons Smalltalk is Better than Java", ideally with some implemented code examples that illustrate each point.

    Any Smalltalk gurus here that would like to take that on?

    (I'm not questioning the assertion -- just confessing my ignorance that it might be cured!)

    While I'm at it, is there an Open Source/Free Software implementation of Smalltalk available to use?

    (I sense a Google search coming on...)