Slashdot Mirror


User: Circuit+Breaker

Circuit+Breaker's activity in the archive.

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

Comments · 90

  1. Your requirements are incompatible on Securing Files in a Hostile Workplace? · · Score: 4, Insightful

    .. even without the hostile environment.

    If engineers can take the files home, you'll have to secure their home networks as well. Can you trust them to do that competently?

    If any engineer can given access to any other engineer, you can't effectively divide teams. Within very little time, all engineers will acquire access rights to all processes. That's what usually happens.

    You'll need to rework your requirements to a list that is consistent with itself first (which means, mostly, thinking which of these requirements are more important). Then you can start looking for a solution.

    And don't trust security advice from Slashdot. For every competent answer, you'll get ten incompetent ones, and unless you have a good security background, you won't be able to tell the difference.

  2. Re:.NET = Fashion on Software Fashion · · Score: 2, Interesting

    I thought the same thing when Java was introduced. The alternatives I considered at the time were Python and Smalltalk, each having much more to offer than Java, and better implemented.

    If you think Java's popularity is a result of it's technical merits, you are dead wrong. It's popular because it was marketed as an anti-bug silver bullet to the powers that be, a bullet that is far enough from C to be bug resistant, and close enough to C that it doesn't require much retraining. I don't think it delievers on either, but -- regardless, it's still fashion.

    Like XML, even though it's bad fashion, it did get common enough that thanks to the available support, it is, in this day and age, actually useful.

    The same will happen with .NET - there isn't really anything new in it compared to alternatives, but if enough people fall for this fashion, it will actually become useful on its own, and lose its "fashion" status.

  3. Another fashion on Software Fashion · · Score: 1

    Universal Modelling Language (UML); It may have place somewhere, but I haven't yet seen evidence or anything that could even be considered supporting circumsetncial evidence. Largest team I worked in was over 50 people, working on enterprise-class software, and I was heading it. I can't see how it can help a larger team either.

  4. There are other free (libre) alternative to CVS on Are There Problems with the Perforce Open Source License? · · Score: 2, Informative

    darcs, monotone, cvscc, mcvs, subversion, GNU arch.
    Use them, and help the free software community improve the tool. Yes, at the moment Perforce is (probably) better. But Subversion with RapidSVN and (if using windows) TortoiseSVN are more than adequate. And with time (and _users_), the free solution may be much better than the commercial alternatives.

  5. Re:How to develop securely in 4 words on How to Develop Securely · · Score: 4, Informative

    Ahhhm.

    Use strlcpy(). strncpy is almost as bad as strcpy(), as it doesn't guarantee a terminating nul.

  6. Re:expressive on Linux Journal Interview With Brian Kernighan · · Score: 2, Interesting

    In the Turing sense, all languages have equivalent expressiveness.

    In the Kolmogorov sense, the "complexity" of a program differs between two languages by at most a bounded constant (the length of the interpreter of one language in the other).

    But in the real world, I think K (http://kx.com) beats any other language in terseness (and is speedwise competitive with C as well). Rebol is also amazingly terse, even if not as fast.

  7. Re:Does not solve the problem, but makes it even w on Make Out with SCons · · Score: 4, Informative

    Spend some time to look at Scons. It's not a silver bullet, but it's a great step forward.

    It can, among other things, generate Makefiles or Visual Studio project files, or run the build itself. It does have "autoconf" style checks, which you can embed in the sconstruct/makefile. It's built for parallel make from the start. It does not suffer from network clock skew.

    And it has much better multiplatform support than any tool I've seen so far (automake/autoconf, make, qmake, tmake, cmake).

    It will take time to mature, and it doesn't solve the problem, but it does makes things much better.

  8. Depends on the level of computer literacy ... on Game Creation Software for Kids? · · Score: 2, Interesting

    But I'd recommend having a look at the livewires material. They teach writing a few simple games in Python in a short time.

    As for taking it home, Greg McMillan's great Python Installer can make that happen.

    And it's all open source and works on Unix/Linux as well.

  9. Re:A coupla things on Alternative to SourceSafe in a Commercial Environment? · · Score: 4, Informative

    I haven't seen anything that works as well as VSS

    Try Jalindi Igloo (search google for it). It integrates with VS6 as well as, if not better, than VSS. And Tortoise is simply the best UI for version control I have ever used.

  10. Re:Don't believe the hype on The Post-OOP Paradigm · · Score: 1

    The Kx guys? Promoting OO++? I'd like to see where. The Kx guys are as anti-OO as any professional can be these days without risking being laughed at by the uninformed community (that thinks OO is a silver bullet).

    Are you sure you're not mistaking them with the AOP guys or something?

  11. Re:Hard to program? on Extreme Multithreading on a Chip · · Score: 4, Informative

    When you say "fast", do you mean "responsive"?

    There's no speed magic to multithreading on a single thread single CPU system - actually, preemptive multitasking can only reduce raw CPU power.

    For desktop systems, responsiveness is far more important than raw speed - but Sun is in the server business, in which desktop-style responsiveness is less important.

    Furthermore, do not confuse CPU threads with O/S threads; CPU threads may just as well run distinct processes which have no relation to each other - in fact there are architectures that use this as an advantage and do away with a memory cache.

    Multiple threads make software hard to develop (and to debug and test). Multiple processes, essentially threads without a shared address space, much less so. Assuming, of course, that the address space is NOT shared....

  12. Re:Part of the problem is CVS on Stop Breaking the Build · · Score: 2, Insightful

    While I agree on most things, WinCVS is certainly NOT the GUI you should be comparing to - TortoiseCVS is.

    I have used SourceSafe, Perforce (very lightly), WinCVS, and Tortoise. Tortoise is above and beyond the rest. I still use the command line sometimes for intricate log grepping, but for everyday usage, Tortoise is simply amazing.

    TortoiseCVS

  13. Impressive on Concept Programming · · Score: 2

    Reading around his site I think I'm impressed by the volume of work put in, and (if it is indeed as he claims), the quality of e.g. complex number manipulation.

    Mozart is a poor choice of name, unless it is very very very old - because it is already taken by a programming system (see the Oz language).

    Also, check out Pliant which is (relatively) mature, and does most of what is discussed on the site and a whole lot more.

  14. Knuth on the complexity of songs on Seeking Computer Science Fokelore? · · Score: 3, Interesting

    This PDF file is something that deserves to be better known. It's not strictly about computing - it's about application of computer science to measurement of song writing. I'm not sure it would be computer folklore by most people's definition, but it definitely has a place in the geek folklore.

  15. Re:SmallEiffel's no more on EiffelStudio 5.2 For Linux Released · · Score: 1

    Python Libraries are about as reach as the Java libraries. Except for JMS (which is not _that_ good), I know of nothing that ubiquetous that Java has and Python doesn't.

  16. experience in Linux and Solaris? on Basic Required UNIX Skills? · · Score: 4, Informative

    You mention a fair amount of experience in Solaris, which is probably the most common "official" (in the trademark sense) Unix out there, and Linux, which is probably the most common "nonofficial" Unix out there. What kind of experience is it? If it's as a workstation user, through KDE, Gnome, CDE etc, then it might come in useful, but don't count it as fair.

    Generally, my experience is that shops hiring Unix people expect them to rival McGyver and connect e.g. the SHINY NEW network management system to the legacy systems THEMSELVES without shelling out money to integrators, using not much more than a few perl scripts and duct tape -- whereas those hiring Windows will more often than not, in my experience, expect their employees to oursource it to someone more qualified (mostly because the duct tape is a COM object with 5000 undocumented methods that no one really knows how to use; Yes, this is from experience).

    Make sure you've mastered all of the standard Unix tools (cron, awk, perl, vi, and friends), Unix-Windows integration stuff (Samba, sun's SMB server whose name eludes me at the moment, OpenLDAP, Cygwin), _basic_ database management (unless you plan to become a DBA, you don't want more than basic but you DO need basic), mail configuration, and _basic_ system administration (unless you are planning to be a sysadmin, in which case basic is not sufficient). Most importantly, the unix philosophy that that everything is a file (or equivalent to it), and that most everything gets done by copying or piping data from one place to the other, possibly transforming it in the process with (ideally) a one-line simple, modular, command.

  17. FLTK is best for you on wxWindows vs. MFC · · Score: 1

    It's much simpler to program than ANY other toolkit (yes, Qt included); It doesn't cover as much but it tends to be sufficient for 99% of the programs. It works on Win32, X, MacOS and easy to port to other systems. Did I mention it's open source? It also has an extremely well written manual, and tens of concise, useful example programs.

    And ... there's an included checkers program with full source that you can consult, as the GUI for chess and checkers is similar. Go on, download, compile and check it out; then look at the "possible moves" and "rank moves" display, and tell me if you can do it elegantly with that simplicity and without flickering in any other toolkit.

    FLTK website

  18. Re:Being on the web does not remove copy write. on "Deep Linking" Controversy Renewed in Texas · · Score: 1

    But no one is copying it. Deep linking as analogous to saying, e.g., in a radio show that the New York Times has an article about something on page 3. If copyright (not copywrite, btw) law disallows that, well ... it's the end of the world as we know it (and I feel fine).

  19. Criminal Incompetence. on "Deep Linking" Controversy Renewed in Texas · · Score: 5, Insightful

    Two (2) lines in the web server's config file would have solved the problem. Even if they pay they're sysadmin $1000/hour, and he has to read two hours worth of documentation to find that out, it would still be more cost effective - the lawyer fees are probably well above $100/hour, and it won't end in less than 10.

    A cease and desist letter should be considered criminal harrassment in this case, and the lawyer behind it should fear being disbarred for sending out such a letter. But there's no chance of that happenning.

    Oh well, at least I'm not a US citizen, so it isn't MY taxpayer money that will go down the drain. Unfortunately, the same cannot be said about my legal rights.

  20. Re:Math S/W on MATLAB Survey for Mac OS X · · Score: 1

    No problem; This reaction on /. is, in general, right.

    In the last few years I've been doing more managerial/administrative stuff than research stuff, so I can't offer much advice about the recently available tools. For me, Numerical Python + very infrequent C code + DISLIN for plotting won against Matlab everytime; YMMV.

    It really depends on what you want to get done - it is similar, but not similar enough to make you comfortable from the first minute. Python is a real programming environment that scales well, while still supporting quick-and-dirty prototyping - but it's still general purpose, so you may sometimes have to do things differently than in Matlab. The simple stuff is more or less the same (if not simpler), and the vector way of thinking carries over to Numeric (the Python part that deals with ... numerics).

    Find the right tool for the job; For me, Matlab has never been it, but for you it may.

  21. Re:What does exchange server do? on InsightConnector - A Viable Exchange Alternative? · · Score: 2, Informative

    Exchange does group calendering, simple task/issue tracking management, group journalling, mailing list management and a few other things. It's not too good at doing any, but it does a lot of things good enough for people to grow dependent on it in some way.

  22. Re:Math S/W on MATLAB Survey for Mac OS X · · Score: 2, Informative
    You've obviously never had to use Simulink or Real-Time Workshop. Mathematica has nothing like this and it is the lifeblood of engineers.
    Actually, I've had the misfortune to use Simulink. I had to simulate a non-linear multiple input/multiple output system, and I couldn't get Simulink to do it; So I turned to all the local experts who told me to use it in the first place, and once I described the problem to them, they said "Oh, of course you can't do that in Simulink". Granted, it was a very complex system, but that's why I needed modelling in the first place - I couldn't get an approximation any other way.
    I would like to see you write a script that will do 2D signal processing and plotting of the results in about 20 lines. I can do this in Matlab. Not only can I do it in about 20 lines of code, it will be blazingly fast if properly written to take advantage of Matlab's matrix capabilities
    With the exception of "import Numeric" and "import ", which I can hide away in a "Matpython" startup script, your 20 lines will probably work in Numeric Python with minor syntax tweaking and (unless you have no loops or unneeded copying, which is hard to get in Matlab) noticably faster. Numeric even uses the many of the names used in Matlab (which in turn copies some old fortran libraries) for most functions. But Python is significantly more capable - Let's see you do proper 4D signal processing with those 20 lines - I was able to do that in Python and I wasn't able in Matlab (that was why I switched at the time). It was Matlab 4, I think, and anything beyond 2D was hardly supported - perhaps things have changed.

    But one thing I know HASN'T change is Matlab's horribly inefficient scripting. I'm probably not representative, but I never seem to do anything "standard" with any tool - I usually find "standard" solution I'm content with without redesigning them (DCT, for example). I always do nonstandard things, usually nonlinear, and Matlab hasn't once given me a good surprise (and I gave it more than enough chance).
    A lot of people make the mistake of writing Matlab code like they would C - lots of embedded loops, iterating over one variable. That's not how Matlab works and it usually results in awfully slow execution. Use matrices like they're supposed to be used and Matlab works like a champ
    I'm not one of them. I've worked in languages (APL, Fortran) and environments (some IBM vector pipelines from 10 years ago whose name I can't recall, among others) that capitalized on vectorized access; I write vectorized matlab code. Unfortunately, sometimes it's the wrong thing to do.

    In one case, while trying to compute a three dimensional electrostatic field around a weird asymetric structure, I needed a matrix that contained, for each point in space, a distance from one of a set of given points. Doing this vectorized required multiple large intermediate matrices (think tens of megabytes), none of them sparse. When I debugged the matlab code on small matrices, it worked fine; When I went to the full size, it got a slowdown factor of 500 or so due to swapping. I rewrote this as a Matlab loop instead without any additional computation, and it was 5 times faster (100 times slower than anticipated if vectorizing didn't spill to disk). Writing the same loop in Numeric yielded nearly 20 times improvement. Not quite the vectorized result, but just 5 times slower than that (The code did many superfluous computations, which were unavoidable in vector form). I also converted the original vectorized version to Numeric, and it ran at exactly the same speed as Matlab.

    It was around that time that I stopped taking Matlab seriosly - Python/Numeric consistently outperformed it in any test, was easier to interface to C, and didn't have licensing hassle attached. It isn't as prettily packed, and you have to collect "packages"/"toolkits" yourself instead of relying on Mathworks to do that for you, but it has been more than worth my time to do so.
    Exactly. Matlab is great for what it does. I can spend a few days designing and testing an efficient DCT algorithm, or, I can use Matlab. I can spend a few days designing and testing an efficient DWT algorithm, or, I can use Matlab. You see where I'm going with this...
    Actually, I don't. Are you designing a new DCT algorithm, different from the Lanczos/Daniels, Sorensen or Winograd algorithms? Because doing so would take you days (if not months) in any environment. Are you designing a new DCT implementation? If Matlab saves you time, you should probably be spending time on something else - Matlab doesn't help you evaluate precision loss, limit cycles, saturation problems, etc. Is that DCT needed as a component inside something else? Then you aren't designing a DCT algorithm at all - the same way you call "dct2()" in Matlab, you could do that in C, Python, Fortran or Lisp.

    Regarding your DWT algorithm - you didn't really try to compute any interesting wavelets or any continuous ones lately, have you? Another area I have experience with and which I found Matlab severely lacking (And yes, I _was_ designing new wavelets, not just reiterating the standard families).
    Not only that, but when I'm done with my simulation, Matlab has some pretty decent graphing capability. I don't need to waste my time handling spreadsheets full of data and trying to get a meaningful plot.
    It has decent graphing capability, but nothing out of the ordinary. I used DISLIN, gnuplot, and various other packages through time; They're just as easy to use, some give matlab-quality output, and there are a few that give quality output, that I wouldn't be ashamed to publish in a referreed magazine (which I can't say about matlab output).

    The reply suggests, more than anything, that you've only used Fortran, C and Matlab - out of which Matlab is definitely the environment of choice for most design work. But there are a lot of other tools out there, and I have found them definitely worth my time. Check them out when you have the time.

    Personally, having a strong Prolog origin, I like Mathematica's syntax as well, and usually requiring weird things Matlab can't do efficiently, don't find it significantly slower than Matlab even for numeric work. But that's probably just me.
  23. Re:Math S/W on MATLAB Survey for Mac OS X · · Score: 2, Interesting

    Mathematica from Wolfram Research is far from being free, but is way ahead of MatLab in anything that matters (except market share ...)

    Python + Numeric + {Dislin/PyChart/...} do a decent job, much faster and much more flexibly.

    Octave supposedly gives Matlab compatibility (never used it myself).

    Matlab is more than 20 years old now, and showing it's age and Fortran ancestry (has been showing for at least 10 years). It's good at manipulating 2D matrices and applying some functions to them, but everything else is horribly slow, inefficient and unpleasant. Most of the reason it still dominates its market is that this is what people study with in the university, and later on, no one remembers how to do the Remez Exchange or IIR design procedure, so they go back to good old Matlab.

  24. Play the game, but don't go too far. on Handling Anti-Spam Systems When You Aren't Spamming? · · Score: 2, Informative

    Configure your mailer not to send more than 5 messages along the same connection, or whatever is needed to get through. If it's too much, notify your audience that due to unreasonable policy on behalf of their ISP, you can't deliver to their inbox.

    I don't know how you are managing your newsletter, but eGroups doesn't seem to have too many problems with that; Either they know how to get through (more probable), or everyone makes an allowance for an egroups address (less probable). Either way, if all else fails consider using egroups or a professional service that works (Never tried myself and am not affiliated with, but I hear whatcounts is good.)

  25. Re:Consider Python... Wait! Don't leave!!! on Seeking Multi-Platform I/O Libraries? · · Score: 2, Interesting

    Have you actually tried using Python? If you have, it's probably for not enough time or using the wrong tools

    1. Using indentation instead of braces kills the religious "coding convention" wars before they have a chance to start. It's easy to read, it makes what you read and what the parser read consistent (Never chased a mismatched indentation/braces case, have you?), and it just plain works. Where did that function start? Any editor worth its while can tell you that, most of them already have a macro that does this. If you ever used Scintilla/SciTE you'd probably never go back to "find matching" only style editors unless you were forced to - collapsing functions makes a lot of sense even in the curly brace world (more so in Python's indentation world).

    2. There are add-ons that can enforce that, but that would be missing the point. The Python interpreter and language specification goes to some length to catch this kind of errors, and although it's a long way from e.g. C or Java, it caters for the common cases. Typos in long variable names may create annoying bugs, but ones that are _always_ easy to identify and fix. True, they wait for run time rather than compile time; personally, the number of bugs of this kind that I get is consistently low enough for this not to matter (and, since Python code tends to be an order of magnitude shorter than any other language except Lisp or APL, it's more than worth it. Plus, there's a Lint for Python if you insist). Variable declarations are NOT free documentation. "Object my_object = new Blah();" is not more informative than "my_object = Blah()". It's the variable's name that's the documentation, rarely it's type.

    3. Oh jesus. C++, Java, SmallTalk, LISP and just about any other language does this too. What language are you using? Plus, try scintilla and you'll be amazed at what a GOOD language sensitive editor can do (for any of the above languages).