Slashdot Mirror


User: agentultra

agentultra's activity in the archive.

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

Comments · 70

  1. if I had to start from the beginning... on The Best First Language For a Young Programmer · · Score: 1

    Common Lisp.

    I'm still really new to the language having more than 12 years or so experience programming with the Algol-decendent languages like C, etc. I went the Assembler -> C -> dynamic languages (Perl, Python, etc) route. However once I started delving into it I started realizing that if I had to chance to start over, I'd much prefer to learn CL first. It's much easier to understand my programs and syntax is nearly a non-issue. I find it is a very pleasing language to work with.

    The homoiconic structure of the language removes most of the cognitive dissonance between representation and execution. More often when I was starting out I wouldn't catch many errors until I ran the program. Finding optimizations became an exercise in juggling the syntactic representations of language primitives which were different from language to language. As I improved over the years I started creating a divide in my mind between program representation and AST... which is sometimes fun (I had a lot of fun just poking around with Perl early on) but at the same time was a pretty difficult hurdle to overcome.

    The prefix notation and minimalist syntax of CL is also pure bliss. My editor takes care of syntax for me. No need to memorize precedence tables or the syntactic differences between statements, definitions, calls, etc. The uniformity of the language means there are far fewer rules, irregularities, and exceptions to keep track of. More mind space for programming and problem solving.

    Some people think simplicity is procedural instructions and infix syntax. "Open the file," they say, "read the next line and apply the word count function to it." We're so used to infix notation from elementary mathematics that it's second nature. These sorts of languages usually start with the premise that a program is represented as a series of statements that are executed by the interpreter/compiler/etc. Yet the novice doesn't have to proceed far in their tutelage before exceptions to this rule are introduced (such as a definition, usually a block of statements that are executed in series when the name of the definition is called in another statement... whoa). Further complexities are added by layering the exceptions.

    Whereas Lisp's uniformity allows the novice to start with one simple atomic unit of knowledge, the humble list, and evolve complexity as they learn more. Rules learned as one proceeds in learning Lisp are almost never (if ever at all AFAIK) excepted by the addition of new knowledge. One of the first bits of knowledge you learn early on is, "everything in Lisp is a list," tends to remain true throughout. There are only a handful of special forms to be aware of and that's all. I think for a novice this is a much more natural way to learn... start small and grow from there.

    Of course choice of language is quite personal. I certainly had a lot of fun (and still do from time to time) working with Perl (sometimes just for the sake of fun). I thought assembler was pretty cool when I started out using the graphics routines in the Lisa assembler on a dusty old Apple II (right when some of my friends were lucky enough to be getting the new 80286s). But in retrospect is was pure curiosity which drove me: something that cannot be taught.

  2. Re:Left handers.. on 26 Years Old and Can't Write In Cursive · · Score: 1

    I can sympathize. I prefer fountain pens because India ink is proven to weather hundreds of years if the paper that holds it can survive. However, when I first started using them the smudges got really annoying.

    I adapted though. It takes a little extra muscle effort, but tilting the writing hand back and curving the arm to write at an angle has alleviated the smudging problem for me. Though I do find that my hand cramps up faster if I apply too much pressure (as I tend to do when writing fervently).

    However being left-handed does have its advantages elsewhere from writing. Statistically we're more intelligent than right-handed people (though I have no source to cite so take the statement with a grain of salt) and in pugilism we have the advantage versus right handed opponents. :)

    Best of luck, lefties rule!

  3. it is the fault of computers on 26 Years Old and Can't Write In Cursive · · Score: 1

    There was a time when I actually had a handwriting/cursive class.

    It was removed from the curriculum pretty early on in my educational career.

    Not long after assignments were not allowed to be hand written.

    The type-setting requirements of teachers became picky enough that the only way to write an assignment was with a computer.

    It's sort of hard to test how long digital records will last and how recoverable they will be in the future. Paper and pen have already proven themselves: no special equipment is required to extract their data... only perhaps to maintain them after they reach a certain age.

    Hence why I prefer to write my journals and notes by hand. I know they'll still be around when I'm just some ancient ancestor and they won't have to dig around EBay for an equally ancient x86 based computer and LCD display to read it.

  4. same rules for everyone on Why the Photos On Wikipedia Are So Bad · · Score: 1

    The authors of the text on Wikipedia do not retain copyright.

    Neither should the people who take the photographs.

    The public license is a benefit, not a detraction.

    For the good of public knowledge, not your personal gain.

    You'd think altruism was slowly being bred out of us.

  5. Re:The web is NOT the OS on Google Announces Chrome OS, For Release Mid-2010 · · Score: 1

    Writing a "Hello, World!" script is trivially easy. Programming today isn't as technically difficult as it once was. I can write full desktop applications in the same high-level language I write web applications and servers in. However, once you get past the tutorials in your books, nothing is ever easy. Expertise is necessary to progress beyond amateur.

    This isn't a technical problem. The solutions have been there before this problem came to be: irc, nntp, ftp, sftp, ssh, vnc, x11, http, etc. This is more of a stigma. Using the browser as a delivery platform for interfaces to networked applications was a work-around to proprietary OS vendor lock in. Delivering cross-platform applications was once a very daunting task, even for seasoned programmers, and made very little sense to businesses: who wanted to maintain a new version of the same software for every possible mainstream OS? But that has become a problem of the past and in the meantime the work-around has become the norm. That's the real problem: a generation or two of new developers simply don't know anything else.

  6. Re:Computers are *communication* devices on Google Announces Chrome OS, For Release Mid-2010 · · Score: 1

    I won't argue that the Internet is not important as a communication medium. I think that's another point all together. It is very effective at communicating information.

    My point was that the interface to that transmission medium could be better. What we have instead of a phone receiver is something more akin to a rube goldberg mechanical turk. The message you were intended to receive might not be what you actually receive and depending on what kind of mechanical turk you have on your end; it may crash or behave unexpectedly.

    Of course, the core functionality is all still there: data can be stored and shared on publicly accessible servers. Stateful and stateless protocols can be built to interact with that data. Just because you don't load up a web browser with a tonne of HTML/CSS/JS just to view which friends are online doesn't mean it's not a social communications platform anymore.

  7. Re:The web is NOT the OS on Google Announces Chrome OS, For Release Mid-2010 · · Score: 1

    that integration is an effect of data being stored on publicly accessible servers and is not a virtue of "web applications" alone. I agree that the Internet should be more ubiquitous if possible, I just believe that the technology stack we've chosen to implement it is feable and silly.

  8. Re:The web is NOT the OS on Google Announces Chrome OS, For Release Mid-2010 · · Score: 5, Insightful

    The web is not the OS. The web is...the web. I do NOT want everything to be a goddamn web app. Web apps work very well for certain applications, and Google has shown that they can push the limits with dynamic content, but that does not mean the web application is an appropriate model for every damned application. I don't like the Chrome browser and I don't need an OS named Chrome that is actually Linux with a lame web browser bolted on as the front end. Google does search very well, but I've hated most of their other stuff. (Google Earth is one exception) I expect no different from this.

    But.. but... I don't know how to program anything else! The web is the future! FUTURE!

    In all seriousness, I basically feel exactly the same way. I've been building 'web applications' for companies for years because that's all they're hiring people for. It sometimes surprises me that it ever works at all. The sheer number of brittle components all hobbled together... there are so many weak points where something can go wrong. It just makes for one big headache after another. X11 is a server and has been delivering stateful GUIs across the network since the early nineties at least! It amazes me, the amount of technology we have today, and what we've chosen to do with it. It could have been so much more, but instead the worst possible solution won out the day... and now a whole generation of developers have no exposure to anything else.

    Is everyone seriously impressed that we're creating stateless GUIs to remote applications by scripting marked-up text inside increasingly bloated and resource-hogging third-party applications? Is this the future? Really?

    I'm with you on this one.

  9. Re:Huh? on Google Announces Chrome OS, For Release Mid-2010 · · Score: 1

    It's easy to make that claim. Especially if what they deliver really is tailored to netbooks. No need to ship it with a gargantuan kernel full of drivers. It might be smaller, faster, more secure because it literally is smaller and thus supports a smaller range of hardware.

  10. Re:Competition is good, baby! on Google Announces Chrome OS, For Release Mid-2010 · · Score: 3, Interesting

    But in terms of innovation and functionality, X11 is second to none.

    Amen.

    It does have it's own challenges (being somewhat difficult to configure on its own for non-technical users), but the flexibility it affords is awesome.

    ... and it's a server too! Maybe if we'd spent the last 15 years working on a standard X11-like network protocol instead of hacking stateless application GUIs out of scripted marked-up text, we'd have a more useful Internet than we do now. But I digress.

    Loves me X, I do! :)

  11. Re:What? on Does the 'Hacker Ethic' Harm Today's Developers? · · Score: 1

    amen.

    To this day I have a hard time convincing people to write unit tests, to adopt continuous integration, or to even automate their build and deployment processes.

    If you want to build things the right way, it sometimes feels like an uphill battle! There have been many times in my career where I've had to defend my decisions to let a new feature slide in favor of refactoring some important bugs out of a critical component of the system. It never ceased to amaze me when it happened. Were they happy to release a new feature and then fume at the meetings when it was buggy and full of errors?

    I think a large part of the problem is that management that doesn't understand what it is we do are ineffective in the long run. They are essentially making decisions based on faith. If they trust their developers, they have no way of validating their trust in them and must base their decisions on whatever they're told. How is that an effective process?

    Adding more process onto the programmers isn't going to fix the problem.

    The only effective managers at a technology company are those who started off as technical staff. Even if they weren't the best programmers on the team, if they were decent they'd know who those people are and be able to recognize good advice.

  12. Re:How about we start teaching REAL Programming... on Does the 'Hacker Ethic' Harm Today's Developers? · · Score: 1

    Using a text editor instead of a full IDE (to work on appropriate scale projects) is like hunting with a spear, but you're not nearly as cool.

    It's really not as primitive as you make it out to be.

    I've worked on projects big and small, but no matter the size emacs fits the bill for me. I actually find that it's a rather elegant tool.

    Anyway, I'm long past my days of flaming people over IDEs and languages. I think you had the right idea in the beginning, but you lost me with your closing line.

  13. Re:Perhaps on Are Quirky Developers Brilliant Or Dangerous? · · Score: 2, Interesting

    Assholes, exactly -- people who are not genius' can act this way too. I've met countless sales people and executives who've had sexual allegations against them and who've siphoned off company money to fund affluent lifestyles; act like complete pricks to everyone they meet; and generally be very "Josh" like. Yet they seem to lack one thing: intelligence.

    I can understand a lot of the "devil's advocate" positions; but the reality is that this editorial is supporting a straw-man argument.

    A genius developer isn't universally predisposed to defecating in public and verbally abusing people.

    They may be eccentric and the scale of their eccentricities vs. their practical value to society will certainly determine how far they go. More often than not, such people will either disappear from corporate life or else end up running it. The worst thing possible for an eccentric genius developer is probably being stuck as a "cog in the machine." They'd probably be more likely to flourish in research, leadership, or academic positions.

  14. Re:Assembly on Best Introduction To Programming For Bright 11-14-Year-Olds? · · Score: 1

    Assembly isn't so bad. That's what I started with using the Lisa assembler an my uncles "donated" Apple II. Those Hi-res routines were fun to muck around with. I later found a book on BASIC at the library that summer and moved on from there pretty quick.

    Red Code is an assembly-like language used in a programming game called, Core Wars. When I was a kid teaching myself programming, it was games and puzzles that kept me interested. Learning about bits and bytes was just a side effect to me. The theory didn't interest me until I was in my twenties, so save all that stuff for later.

    The great thing is you can take assembly and work on microcontrollers and build robots. Nothing is more cool than building a robot when you're a nerdy kid.

    The wonderful thing is that they'll be able to move on to C or Lisp and have a very solid foundation.

  15. Re:Don't think so! on IT Job Without a Degree? · · Score: 1

    Accreditation is important, but even a student with the best grades from the finest engineering institution may turn out to be the greatest cheater.

    Yet I may not have been in school, be just as smart and capable as anyone on your team, but cannot get a job at your company. Why? Because I didn't pony up $40k for a piece of paper like everyone else?

  16. Re:Don't think so! on IT Job Without a Degree? · · Score: 1

    Wait... this is the Internet, right? You're supposed to argue with me and fling meaningless insults.

    You're right and I totally agree. For jobs where human lives or millions of dollars are at stake, it's probably a good idea to impose some sort of rigorous examination and regulation. Accreditation and standards are important.

    I'd rather put the regulation of standards and examination in the hands of an unbiased non-profit professional organization.

    The worlds greatest lawyer to come out of the greatest law school could just be the greatest cheater or worse... didn't even have to try that hard.

    Cheers.

  17. Re:Don't think so! on IT Job Without a Degree? · · Score: 3, Insightful

    Depends.

    Schools these days target the lowest common denominator in order to keep their graduate and placement rates up. It's a fine balance between reputation and the bottom-line. Unfortunately modern institutions are increasingly concerned with profits and find it difficult to resist the temptation to give a few more grads a free ticket to impress their investors/beneficiaries.

    It's also not really fair to exclude people of a certain economic fair who may not have been able to afford the luxury of a college or university education. Speaking from experience, I came from a poor family and couldn't afford four years at ever-increasing tuition rates on a part-time wage. That fact has no relation to my intelligence or capability -- I work on web, computer graphics, and computer vision technology and I never spent a day in university or college.

    I might try joining an institution some day, but my hopes of finding a more rigorous and dialectic education remain dashed. Too many institutions are monastic and profit-driven factories. Boring.

    I'm sure I've sat across the interview table with people who have the same opinions as you. I obviously didn't get hired by them. In hindsight, I'm rather glad. The people who do tend to hire me have a broader insight into reality.

  18. custom motions really make the difference on (Useful) Stupid Vim Tricks? · · Score: 1

    I use a lot of custom motions on top of the stock vim ones. My two most often used are:

    http://www.vim.org/scripts/script.php?script_id=1905

    and

    http://vim.sourceforge.net/scripts/script.php?script_id=30

    It's the motions that really make editing with vim a pleasure.

    No more tapping "l" through someones longCamelCaseClassName to change it. 2,wc,w jumps in 2 words, removes the third and drops you into insert mode.

    Similarily, v]fd deletes a function in python. ]] jumps to the next class definition.

    More motions are better. They help you edit the text structurally rather than as a stream of characters.

  19. Re:Vimperator on (Useful) Stupid Vim Tricks? · · Score: 1

    i love my vimperator.

    i actually find it annoying and difficult to use any other browser without it.

  20. hacker war on How China Will Use Cyber Warfare To Leapfrog Foes · · Score: 1

    the "human idiots" pdf actually uses the term, "hacker war."

    hack the planet!

  21. Web developers care, normal people don't on Chrome Helping Other Browsers Out, Says Opera CEO · · Score: 3, Insightful

    There has been choice for years that many people have been aware of.

    Most people who still use IE just don't care for the other choices.

    Web developers care more than anyone. People who only go on the Internet to watch the odd youtube video and check their hotmail care the least.

  22. Are you kidding? I still play. on MUDs Turn 30 Years Old · · Score: 1

    I play them off and on. The hankering always comes back.

    Currently, it's Achaea. IronRealms does some good stuff. Dragon Realms is pretty awesome too, but subscriptions aren't my thing really.

    Long live the MUD!

  23. Re:"they also tend to favor games they can play... on Former Gamers Want More Social Games · · Score: 1

    Seriously.

    Some of the best times I've had this past year have been playing Zombies!!!, Risk, or Settlers of Catan.

    If I do play computer/console games now, it's usually with other people -- either split screen or LAN.

    I still do play games in my own spare time, but how much time they get fluctuates quite a lot. It's definitely not as much as it used to be when I was younger.

  24. It should be a portable LISP machine on Designing The Ultimate Netbook · · Score: 1

    With some good connectivity and matte screen.

      1 inch thick and 2.5 lbs.

    Full-size keyboard (or at least no less that 90% full size).

    carbon-fibre or bamboo frame would be nice. something that comes with a materials reclamation plan for once.

  25. Re:Bastion and mainstream? on Comcast Discontinues Customers' USENET Service · · Score: 1

    I see too many mainstream users get the misleading idea that the Internet is what you see in your browser.

    So much so that mainstream development of Internet applications today is focusing on delivering sophisticated interactive GUI's using a scripting language to clobber a text markup language and pushing it all down the line over a text-based protocol.

    Just because the mainstream majority of users aren't using usenet does not make it an obsolete technology. Such an assumption would rely on trusting the mainstream to be able to make an informed decision which is clearly not what happened. They don't even know about usenet, so how could they choose?

    Usenet is still a great tool and one that is simply under-appreciated. It does it's job rather well: serving news over a network. No fluff.

    If it got a little love, there might be room to improve the protocol and develop new clients and the "tubes" might be used in a slightly more efficient manner. However, cutting it off is simply shooting ourselves in our collective Internet foot, IMO.