Slashdot Mirror


User: alder

alder's activity in the archive.

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

Comments · 152

  1. Not a DBA, but... on MySQL A Threat to Bigwigs? · · Score: 1

    Just an addition to your list: Firebird -- used to be InterBase.

  2. ReiserFS on MySQL A Threat to Bigwigs? · · Score: 1
    It's too bad most Linux developers aren't interested in doing something really forward-thinking. If there was a DB integrated into the OS...
    If you have not heard about it by now here is a useful link -- ReiserFS whitepaper. It is designed to do everything you mentioned and more.
  3. Some hints on Why We Refactored JUnit · · Score: 1
    As I had to deal with all the challenges you've mentioned, I used to use some unit testing "patterns"/approaches that may be of some help:

    existing code

    In general that should not be an issue, as the code really expresses the function of the system and testing that function is somewhat orthogonal to the actual implementation. Obviously it makes life easier if you are able to create certain probing point inside the system, but even if that is not possible to do, you still can dissect it into manageable "units" that you will be able to test - the regular drill apply some input, check whether the output matches. Most of the time for the "foreign" code it's just an issue of finding proper point where to feed test data, and where to observe output. They are there, just have to be found

    databases

    More challenging, though still very possible. The easiest approach is to create a special schema just for testing. The main goal here is to have known data, i.e. to be sure that no other application changes them while test is running. It also helps that no one becomes upset about your test changing other peoples' view of the system state. One more trick is to write tests so that they restore database to the state it was before the test is run. And the last one - it is helpful to code an alternative data access methods, f.e. if youe object saves itself in the database, you check the result but reading it though "raw" JDBC.

    user interaction

    In general you are absolutly right - it's almost (maybe even totally) impossible task. Yet, again the right way is approach it is to split the "horizon", i.e. apply testing input to methods that normally accept UI inputs. In other words you'll have to create a "fake" implementation of your UI api, and make you code use it during testing, and that "fake" UI will feed the system with data. An example (not really GUI, but illustrates the concept): I had to test an object that parses HTTP requests and provides more convenient than HttpServletRequest and system specific services to the rest of the system. All I had to do is to create an implementation of HttpServletRequest that I populated with test data during test set up, and then feed to the object being tested my "fake" implementation. The same, maybe with a little more effort, can be done to emulate mouse clicks and movements, key presses, etc.

    multi-tasking

    No general answer unfortunately, at least not the one that can be applied everywhere. I used to "split the horizon" here too and to test extensively methods that run without cross-thread interaction, and minimize and encapsulate at the same time the code that serves as a cross-thread "bridge" and ... "test" it in my head many many times. Key part is making the code that let threads communicate really-really small, so that you can "run" it in your head.

    Hope that'll help, even if indirectly.

  4. A few glitches in the list of supported platforms on Cross-Platform GUI Toolkits (Again)? · · Score: 1
    What about Solaris 8 (SPARC/Motif), QNX (x86/Photon), AIX (PPC/Motif), HP-UX (HP9000/Motif) and Mac OSX (Mac/Carbon)??! Port Status page lists more specific SWT subprojects: aix/motif, hpux/motif, linux/gtk, linux/motif, linux/qt, macos/carbon, qnx/photon, solaris/motif, win32/win32, win32-ce/win32. Most of these are marked as "Running well", or " Running reasonably, but needs performance tuning". Some have issues/completness (macos/carbon), some are not yet included in Eclipse (linux/qt), but it's not just Windows and Linux, and it was not for quite a while.

    Re: "Swing programming coming along so well" Until not so long ago I had to use Celeron 400 w/ 128 MB at work. And, you know, Swing DID NOT really swing in there...

  5. Horn on the floor... :-) on Review Of GM's HyWire Hydrogen Concept Car · · Score: 1

    This issue probably has roots in the minds of the designers, who live in Detroit where horn is very rarely used, so they just missed the favorite driving gadget of New York and Boston :-)

  6. LOC.../hour on Science Project Quadruples Surfing Speed - Reportedly · · Score: 1

    LOC per day is not that indicative, IMHO. On the other hand 18 month is 1.5 years or ~3000 working hours (no overtime :-). So the man pulled 260 debugged lines per hour!!! ;-))

  7. an overriding philosophy... on The D Language Progresses · · Score: 1
    Which of "release resource using destructor" (C++) or "release resource using finally" (D) is better is a topic for much debate, but I obviously am in the latter camp.

    That a good root for a language "religion", isn't it?...

  8. Holland == Netherland on All schools In Denmark switching to Linux · · Score: 1
    the Netherlands (commonly, incorrectly,referred to as Holland
    Disclamor: I'm not a dutchman, but my brother in law is :-)

    Holland and the Netherland represent the same name, just in two different ancient(?) sublanguages. Both mean "Low Land" -- Hol-land, Nether-land.

  9. Gyro on Mono Ships ASP.NET server · · Score: 1
    Generics in .Net are already available as the patch to Rotor. The paper describes them as being implemented via modified CLR, i.e. it's possible to have a generic type parameterized by a primitive type without boxing/unboxing penalties, i.e. not just a syntactic sugar of JSR14.

    It's not yet clear when, in what version of .NET, that becomes available... though it may be there sooner then JDK1.5 is released (and no one actually confirmed that 1.5 will have generics included).

  10. a single copy... on Win2k Cheaper than Linux · · Score: 1

    Why would you buy it then?! :-)

  11. Refactoring is the PROCESS! on Interview With Martin Fowler · · Score: 2, Interesting
    From the book:
    Refactoring is the process of changing a software system in such a way that is does not alter the external behavior of the code yet improves its internal structure
    This process is not a rigit set of procedures one must perform in order to make a refactoring happen. The refactoring could be as simple as introduce explaining variable or extract method or even rename method, which take less then a minute to complete. While they are simple and easy to complete, especially if your IDE/editor is equipped with refactoring support/tools, they provide tremendous value - the code becomes cleaner and more maintainable.

    I had to perform those tiny refactorings zillion times on my own and other peoples code to better express its purpose in code itself. Sometimes without preliminary refactoring it was simply impossible to understand someones code at all (one prominent example - class had a method that consumed 12 Letter pages in 8pt Courier). It was my experience that most of the time refactoring never takes more then 10 min. to complete. Then you switch your activity to coding, and only later may want to do some more refactoring. You may not have notices this, but if you are a good software engineer you do refactor you code even if you do it subconsciously and think that you don't!

    Refactoring, like XP, is not a religion and does not attempt to be "all or nothing" for you. Use as little (or as much) from them as you find convenient. Spend as little (or as much) time on a particular activity as you find useful. Most importantly - use what you find useful and keep open minds for other parts as you may find them useful in the future. After all refactoring stems from the same roots as design patterns - "a core of the solution to the problem which occurs over and over again in our environment". They just provide value to different domains - design and implementation.

  12. PCI-X on Understanding Bandwidth and Latency · · Score: 1
    The 4 Ultra-320 SCSI products Adaptec listed: All are PCI-X, i.e. 64-bit 133MGh PCI, which according to the chart, sustain 1.06 GB/s. IMHO it (the PCI-X) still has some bandwidth to spare after an Ultra-320 board is in...
  13. You should be able to starting with 3.0 (2.6) on Linux 3.0 · · Score: 3, Informative

    The kexec patch should do the main part of the trick. And its status is Ready.

  14. Conspiracy Theory on AMD Opteron to support Palladium · · Score: 1
    (everthing below is the pure speculation, but...)

    Processor may refuse to execute code segment unless it is signed, so f.e. it (the processor) will expect a signature to be present in memory along with the code. Obviously the code mast be signed with a private key of some "authority", and publick key is the part of processor's microcode... In this scenario Linux or anything else, which is "not authorized", will never work, it won't even start...

  15. NUMA on AMD Delays Hammer · · Score: 1
    it seems like this would require a change in how processes are handled in hammer mp systems
    Hammer MP setup can be viewed as a variant of a NUMA for which there is a (and constantly improving) support in the 2.5 kernel including process ro processor affinity and special provisions in the scheduler and memory manager.

    There may be a need to tune this specifically to Hammer/Opteron though (and even this could have been done already - need to look again at x86-64 port)

  16. days per year on Isn't it Time for Metric Time? · · Score: 1

    we should really change it to 100 days per year, that would be much easier Well, the only way we can accomplish that is though speeding up Earth movement around Sun. Nah, that is impossibly difficult to do, lets just make it revolve slower on its axis.

  17. How is this not a monopoly... on Government Brings Antitrust Actions Against Rambus, Micron · · Score: 1

    Well, it is not. It is called a protection of domestic industries. And though it may not seem fair from the RAM consumer point of view there are quite a bit of good reasons to justify such actions. Whether all of those are applicable to this particular case is a matter of a debate. And taking into account govenment actions, someone somewhere probably jumped over the head trying to protect them.

  18. Information sharing on Personal Finance Software for Unix? · · Score: 1
    (Though the following is an offtopic, hopefully it'll help the poster of the parent)

    You probably know or maybe have heard about Kuro5hin. I personally joined that community a while ago for the reason you just mentioned - the format of the discussion there is immencely more suitable for information sharing in contrast to Slashdot, where topics are kept visible for a very limited time, hence the latter is just a news site.

    You may want to open a discussion that is of interest to you there, and you wil be able to return to it weeks from the beginning to add to or to get something from the ongoing discussion.

  19. Re: Waterbooks on Notebook Cooling Strategies · · Score: 1
    ...you somehow have to explain how that big wet spot got on your pants...

    On the other hand you would be able to blame small accidents on that "damned watercooled notebook!"

  20. lynx security holes on Don't Hit That Back Button · · Score: 1
  21. Packaging... on Trouble Ahead for Java · · Score: 2, Interesting

    That is a matter of preference. You can easily provide very similar appearance for Java applications as well. Try to check Eclipse (the first example that came to mind, possibly because I use it every day :) - it uses a "launcher" which is seen by people as eclipse.exe file. The rest are plug-ins, which are .jars, though as an IDE user you couldn't care less about it. In other words, this Java application has the same appearance, as any .NET application. And though Java's method to achieve this is different from .NET's, "people percieving a platform" will not notice anything.

  22. GUI tollkit on Trouble Ahead for Java · · Score: 1
    You may want to check SWT from (IBM's/OTI's) Eclipse. If you have not seen it before you'll be very pleasantly suprised.

    PS: to see it in action - download (I would recommend the latest stable build - not 1.0 release) and try Eclipse IDE.

  23. Some math... on Time Warner to Charge Extra for Over-Quota Bandwidth · · Score: 1
    100GB/day is pure sensationalism on your part. Sorry, but the number is way off base, though it looks nice and make people angry at the thieves that hurt everyone.
    100 GB /* == 102400 MB */ / (24 * 60 * 60) = 1.2 MB/sec /* == 9.5 Mbit/sec */
    That's a saturated 10 Mb/sec Ethernet during every second of a day... Even if I did not read it right, and it meant to be 100 Gbit/day that still makes for almost saturated T1 upstream. IIRC, all (?) cable providers limit upstream bandwidth to 128 Kbit/sec, which gives just a little over 1 GB/day.
  24. It is a big deal on 2.4 Megabit Cellular Modem · · Score: 1

    3G is marketed for videoconferencing.... How exactly "the miracle of statistical multiplexing" would help there?!

  25. pain of help screens... on A Better Installer for Debian? · · Score: 2, Informative
    To avoid it:

    echo expert >> /etc/dpkg/dselect.cfg