Slashdot Mirror


User: AT

AT's activity in the archive.

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

Comments · 270

  1. Re:Ah. Dynamic typing. Again. on Beyond Java · · Score: 2, Insightful

    I used to think the same way: static typing catches bugs. However, in the past few years, most of the projects I've worked on (largish server side Java systems, primarily) have used some form of dynamic typing anyway. This is usually accomplished by using java.lang.Objects in interfaces or passing around name/value pairs as HashMaps. In some cases, it has been a programmer taking shortcuts, in others, it's been a deliberate design decision.

    What's notable though, is how few bugs it has caused. And the bugs that did occur usually were trivial to find and fix.

    I've also been investigating some dynamic language frameworks (Ruby on Rails, Django), and although the scope of the projects has been small, I haven't seen a huge cost due to the use of dynamic typing. Although more type-related bugs occur, as above, they are easy to catch and fix.

    From an academic perspective, the guarantees of type correctness sound nice, but in my experience, they don't provide much practical benefit. Systems like pike with dynamic typing with optional constraints has the best balance, IMHO.

  2. Re:Totally fresh in programming on Beginning Python: From Novice to Professional · · Score: 1

    Python's strengths, AFAICT, are its pure object-oriented design

    Python is not a pure OO language. Yes, OO is built into the language in a clean and intuitive way (unlike IMHO perl), but it is possible to ignore it. Python also brings together the best features of functional programming languages (e.g. list comprehension), lisp-like languages (e.g. lambda expressions) and smalltalk (e.g. closures).

    I would rephrase that "Python's strengths, AFAICT, are it's multi-paradigm design"

  3. Re:I love Python, but... on Guido Goes Google · · Score: 2, Interesting

    I agree the class libraries are a bit hodge-podge, but the documentation tools seem to be on par with Java/.NET. A bit less structured, but then python is a less structured language, too. Plus with pydoc, I can browse the docs with a browser (a la javadoc, but dynamically generated) or from the commandline.

    In my opinion, the more fancy stuff people have used javadoc tags for (object relational mapping, test cases and contraints, etc.) should be done with annotations anyway, and annotations are supported by the most recent versions of both python and java.

  4. Re:My best on Time Saving Linux Desktop Tips? · · Score: 1

    emacs: Wickedly powerful text editor/operating environment.

    Emacs shell-mode is a hugely powerful part of emacs. All you shell command output ends up in regular emacs buffer that you can nagivate and cut/paste using the regular emacs commands. This is especially useful for interactive sessions (e.g. mysql, python) since cutting and pasting commands and their results is so easy. It also saves mousing between editor and shell windows.
  5. valgrind on Programming Tools You've Used? · · Score: 1

    One tool I've been using a lot of lately is valgrind. Valgrind is a debugging tool that runs an unmodified binary in a special environment to detect memory related problems.

    It's great at detecting memory leaks and odd memory management related crashes. In particular, it's invaluable for threading related memory errors. It can be a bit overwhelming though, especially if you use a lot of libraries that are sloppy with their memory.

    One limitation: it's pretty platform specific. Originally, it was pretty tightly coupled to the x86 architecture, though I think there's a PPC port in the works.

  6. Owl Intranet Engine on Open Source Web-Based File Management? · · Score: 3, Informative

    Here's one that has worked well for me in the past: Owl Intranet Engine

  7. Where do you spend it? on Helping IT Save Money ... and Jobs? · · Score: 1

    Where do you spend it? For most IT organizations it will be:

    - payroll: Obviously, shrinking the staff will help here, but also consider reducing overtime. Reducing the workload, hiring an intern for user support, streamlining operations all can help.
    - software licencing: Migrate away from expensive software, consolidate servers.
    - hardware purchases: Extend the lifetime of hardware, push back on upgrades, negotiate better prices with suppliers.

  8. Public Key Encryption on Fun with Prime Numbers · · Score: 2, Informative

    Prime numbers are used in public key encryption. This type of encryption relies on having a function that is easy to generate, but very difficult to reverse. Factorization of large numbers is exactly the function that is used in practice: the prime factors of a large number can easily be multiplied together to get an even larger number, but getting those prime factors back from the giant number is hard. In fact, as the giant number size increases linearly, the time to calculate the factors increases exponentially (using the best known algorithms).

  9. Tomboy on Are we Headed for a Wiki World? · · Score: 2, Interesting

    Another interesting wiki-like application is Tomboy, which is essentially a personal wiki that runs locally.

  10. Re:GCJ slower than a native JVM? on Java VM & .NET Performance Comparisons · · Score: 1

    But the JIT profile data is representative of the current run. The profiling run used with the traditional compiler may or may not be representative.

    Both approaches have advantages and drawbacks.

  11. Re:GCJ slower than a native JVM? on Java VM & .NET Performance Comparisons · · Score: 3, Informative

    Look again. It is faster in the Linpack 500x500 test. That shows there is potential, at least, but obviously there's work to be done.

    Besides, there isn't much reason why a JIT should be slower than a natively compiled binary, besides startup time. The code still gets compiled, just at runtime. In fact, since profiling feedback is close at hand, it has an advantage (though newer versions of gcc/gcj can use profiling data to optimize as well).

  12. Re:Blimey on OpenSSH is Five Years Old · · Score: 2, Informative

    Thats right. Tatu Ylönen wrote the original ssh program, which dates back to at least 1995. OpenSSL was started after Ylönen turned ssh into a commerical product and started to make the licence more restrictive. In fact, OpenSSH is based on the code for Ylönen's ssh 1.2.12.

  13. Re:I hope Internet gambling goes down in flames on Online Poker Bots Becoming Problematic? · · Score: 1

    Online gambling is currently legal in most developed countries. The US is the notable exception.

  14. Re:Linux users, this is the keyboard you want... on Cherry Announces Linux keyboard · · Score: 2, Interesting

    I'm suprised at the amount of bile over here over the placement of the cntl key.

    Think about it this way: how often do you combine control with other keys? Most users do this at least a little; users of emacs (and programs that have similar key bindings like bash or anything that uses readline) use them a lot. If you are a touch typist, it's a lot easier to reach ctrl with your pinky if it's beside A rather than below shift. A lot of users get used to the latter but the ctrl-beside-A is really superior -- just look at the motion necessary to reach from the home row -- and its hard to go back once you've switched.

    How often do you combine caps lock with other keys? Almost never, I'd guess. In fact, how often do you use caps lock at all (unless you write spam)? I personally map the caps lock key to ctrl on every keyboard I use, giving me two control keys and zero cap lock keys. I never miss it.

    Why the bile? Well, trying to use emacs on a keyboard with caps lock beside A gives me shoot pains in my wrists in minutes. I can type all day on a ctrl-beside-A keyboard without any problems at all.

  15. Not as important as it once was on Is Typing a Necessary Skill? · · Score: 1

    Typing is not as important as it once was. There was a time when documents were retyped every time they were redrafted. Even into the eighties, in business environments documents got retyped all the time. Faxes were a major means of transmitting documents, and the paper and print quality meant that they often ended up getting retyped, too.

    Also, typing was once much more of a specialized business skill. If you didn't take a typing course in high school, your first exposure to a typewriter would be on the job or at college.

    In today's business environment with e-mail and word-processors, documents are edited, not retyped. The actually time savings of being a super-fast typist are much less, because less typing has to be done. And even when typing, your full-bore typing is interrupted by mousing and keyboard commands. In addition, most people nowadays pick up a minimal typing ability through the use of home computers. Certain jobs where documents are composed from scratch still benefit from high typing speed, but basic self-learned touch typing in the 30-50 wpm is easy to achieve, and focusing training on computer skills for editing makes much more sense.

  16. bash completion getting better on Bash 3.0 Released · · Score: 2, Informative

    The completion ability of bash has been steadily improving. There is a nice script here that sets up a lot of good completion rules for bash.

  17. Re:POSIX Compliance issues. on Bash 3.0 Released · · Score: 2, Informative

    If you use bash specific features, you should be starting your shell scripts with #!/bin/bash (or #!/usr/bin/bash, depending on the installation path) instead of #!/bin/sh. With bash 3, the former allows the non-POSIX stuff that bash has always allowed, but the latter disallows at least some of it.

  18. Re:First Flame on Microsoft Announces Dividend and Stock Buyback Program · · Score: 1

    Cash reserves are an asset the company holds, just like buildings, office chairs and paperclips. And every share in the company, in theory, represents a sliver of that cash. The company might want to keep the cash around for strategic reasons (i.e. warchest) or it might figure it can get a better rate of return than expanding their business would. Regardless, it is still invested in the company.

  19. Re:First Flame on Microsoft Announces Dividend and Stock Buyback Program · · Score: 4, Informative

    Huh? Most public companies take their profits and reinvest them in the company. This may or may not help the company grow and reward investors by making the company more valuable. Some companies pay out dividends (i.e. pay out profits to investors), usually because the company is not easily able to expand so growth is not an option. This is commonly seen in large companies in mature fields; think heavy industry, mining, railways, etc..

    Redhat most definately does not give their profits to their investors; they are focused, like most tech companies, on growth, so they reinvest it in the company.

  20. Re:Open Source doens't guarantee upward compatabil on Gates: Open Source Kills Jobs · · Score: 1

    MS took backwards compatibility for developers very seriously. You could take a program written for the Windows 3.0 and recompile it for Windows XP and it would just work (most of the time). With Win32, it was binary compatible, too. Similarly, a VB 1.0 program would work in VB 6. MS took this very seriously, and it is a big reason why there has never been a shortage of programs (or developers) for MS platforms.

    With the .NET platform and VB .NET (and even more so with Longhorn and Avalon), MS is trying to migrate developers to a completely new platform with no backwards compatibility. This is, of course, to address very real shortcomings with the old Windows platform compared with Java and web-applications. But it's a huge break with the past, the first such risky move since the original move from DOS to Windows.

    Joel Spolsky covers this in more depth on his weblog: How Microsoft Lost the API War.

  21. We can't commit... on Microsoft Responds to IE Criticism · · Score: 3, Interesting

    In the actual discussion, their reply to any question about concrete features -- including standards support, CSS2, CSS2.1, CSS3, tabbed browsing, and PNG alpha transparency -- was, "We can't at this time commit to implementing xxx but we will look at it carefully."

    They seemed evasive and unwilling to say anything except marketing-speak. What's the point of chatting to the community if you aren't allowed to talk about the product?

  22. Try ccache on Reduce C/C++ Compile Time With distcc · · Score: 2, Informative

    While it is slightly different in concept, check out ccache. It only uses a single computer but it can significantly speed up your compiles. It works by caching the results of each compilation; it will only help if you compile the same code over and over.

  23. MD5s are 128-bits on Fedora Core 2 Officially Available · · Score: 2, Informative

    MD5 hashes are 128-bits, not 32-bits. That means the probability is closer to 2^-128.

  24. Re:How reliable is Bittorrent? on Fedora Core 2 Officially Available · · Score: 2, Informative

    Just let it finish. Check the MD5SUMs when you are done, but they shouldn't be wrong, even if you've "kill -9"ed it. If, on the off chance they are, just run bittorrent again, and it will automatically find the corrupt chunks and redownload them.

    Bittorrent is very good at ensuring the downloaded files are correct.

  25. Hint for Emacs Users on Eclipse Finally Gets Code Folding · · Score: 4, Informative

    I know this article is about eclispse, but I'd like to point out this feature exists in emacs, too.

    Turn on hs-minor-mode (M-x hs-minor-mode) and code blocks can be folded and unfolded with shift-middle-click (or C-c @ C-c).