Slashdot Mirror


User: QuantumFTL

QuantumFTL's activity in the archive.

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

Comments · 885

  1. Re:Functionals on Purely Functional Data Structures · · Score: 1

    I have to agree on that, for mathematical and recursive stuff functional languages are great, but how many of this mathematical stuff is really required these days for 'Joey Programmer'? As soon as it gets complicated there is most often a C-Library around that already solves the dirty work (lists, arrays, hash-maps, etc.). Sure there is still a lot of stuff around that can't be simply solved via yet-another library, but isn't quite a lot of code today mainly wiring userinterfaces together (think VisualBasic programmers), ie. rather boring imperative stuff? For me thats the biggest stopping block for functional languages, sure I have seen a lot of nice quick-sort and similar algorithms in functional languages, but I haven't seen much whole programms around written in a functional language, which lets the functional languages often look rather academic.z

    Well, if you're just patching together GUI stuff and a few libraries, might as well use Python for everything.

    But if you're doing "real" programming, like a simulation or a database or a compiler or basically anything algorithmically intensive, it's nice to use languages that allow you to effectively express the algorithm.

    Unfortunately much of my work is highly numerical and doesn't work well outside of FORTRAN/C/C++ but there's plenty of other things functional languages are good for.

    I think most programmers do not use functional languages because they have been slow in the past (not so much any more) and most of them are not familiar with it. It seems accademic because only accademics seem to take the time to learn this kind of programming. I dont' think it's quite ready for mainstream yet... but I hope in the next 10 years to see it slowly leaking into other more established languages before finally making a breakout.

    That being said, if I were to write a server for something (which is something I've done at my job before) I'd want to use OCaml due to it's robustness and inherent safety (no buffer overflows, etc...)

    Cheers,
    Justin Wick

  2. Re:Just got this book on Purely Functional Data Structures · · Score: 4, Informative

    Monadic programming is a fancy name for a pretty common sense design pattern used by functional programmers far before the theory of Monads was created. Basically you want a function that executes a list of commands, but the problem is that functions can only evaluate to pure values. So what you do is your function evaluates to a value that represents the list of commands you wanted to execute.

    What makes them special is the mathematical rigor that *ensures* the properties you need from the monads, and greatly aids in proving properties of your algorithms. Things like associativty, and the left/right unit properties really help trivialize a lot of programming proofs.

    It's more than just a "fancy name", and I'd say the most exciting thing about it is that it allows the use of composition of monads to compose functionalities described inside them. It makes functional programs much more modular because of this, and allows one to add all kinds of features to something like an interpreter without hardly changing the signatures of any functions! Quite impressive compared to the normal craziness associated with refactoring a functional program.

    It's interesting to see how monads are used in Glassgow's Haskell compiler... much more useful than I ever though "some weird triple thing" from category theory could be.

    A side note: category theory is basically the study of mathematical design patterns. Its more than that, but thats a good intuition for computer scientists to take when they study category theory.

    I always thought Category Theory was best though of by CS students as a replacement for Set Theory that has a function-centric view... a more pure theory of functions (with applications to the lamda calculus no less) that can usefully find common structure in many disparate fields of mathematics, especially discrete math.

    Cheers,
    Justin Wick

  3. Re:Functionals on Purely Functional Data Structures · · Score: 2, Interesting

    I agree that functional programming languages are quite useful, but speaking as a coder who learned functional programming just last year in class, I can say that functional languages are a lot more complicated than procedural languages.

    I'm not sure I'd consider most functional languages complicated. Look at the number of types and basic functions in something like SML or OCaml... a few basic types, and a few functions to act on them... There's really not a lot there to learn.

    If anything many functional programs are simpler because they directly map to the mathematics of the algorithm given... especially for recursive algorithms!

    I believe that often times it's more difficult to program in, but that's hard the same as "complicated".

    Sure, once you get good at it you can bang out a functional program easily, and maintenance can be a breeze once you know how to write the code. However, reading and understanding code that ISN'T yours can be damn near impossible sometimes, especially when you're a newbie.

    Actually one of the main problems that is noticed within the functional community is that because there's a lot of recursion and tight coupling between different parts of algorithms, they can be hard to maintain. That's why a lot of people are excited about monads. They allow the use of modularity in a very cool, and appropriately mathematical way! You should check them out of you haven't already, they greatly simplify the task of writing things like interpreters, etc.

    I'm not discounting the use of functional languages, I'm just saying they are harder to learn than procedural languages.

    I'm not really sure that's true. I know people who's first programming language was functional, and they found it equally hard to move to a procedural language - worrying about things like state, ordering, pointers, globals, memory management, bounds checking, interrupts and callbacks and non-persistent data structures, and even manually-implemented laziness.

    Advanced features of any language are difficult to learn, but I'd suggest that anyone who knows a little math can learn to write a small but useful functional program as easy or easier than they could in something like C. Not to mention many algorithms are so naturally recursive, but tail-recursion optimization doesn't seem to work well on many C compilers.

    It's certainly different though!

    Cheers,
    Justin Wick

  4. Re:Just got this book on Purely Functional Data Structures · · Score: 3, Interesting

    Wow, that was fast! Are you browsing Slashdot from the bookstore?

    No no no... I just got the book a few days ago and have been reading it. I've forced myself to play around with OCaml and various functional languages for the last month or so to try out the paradigm, and I must say I'm impressed by the compact expressivity, and the safety of these languages.

    I love the idea of writing programs that can't crash (well, they can hang but they can't segfault), and being able to so elegantly describe an algorithm that I might as well just be writing the math.

    I'm also not exactly upset by the type-inference (I never have to specify the type of almost *ANYTHING* despite the fact that there's no implicit casting). Also being able to make functions that are polymorphic in extremely complex ways allows me to keep algorithms much more general. Functors, for those that havne't used them, are simply awesome. Think templates but done right.

    We need more good book reviews like this. Slashdot should hire the guy :)

    Cheers,
    Justin Wick

  5. But what data structures? on Purely Functional Data Structures · · Score: 4, Informative
    This review was awesome, but he didn't really mention what data structures are discussed. Here's the list from the TOC for those who care:

    Heaps:
    • Leftist
    • Binomial
    • Splay
    • Pairing
    • Skew Binomial
    • Lazy Pairing

    Trees:
    • Binary Search
    • Red-Black
    • Trie

    Queues:
    • FIFO
    • Banker's
    • Physicist's
    • Double Ended


    There's also a lot of other things, such as some interesting ways of doing numerical representation in functional languages (lazy numbers!) Even talks about trinary/quaternary numbers, as discussed before on slashdot.

    Also if you'd like to see the source code without buying the book (you cheap bastard!) you can find it here.

    But I hope you buy the book :)

    Cheers,
    Justin
  6. Just got this book on Purely Functional Data Structures · · Score: 4, Informative

    Nice review!

    I just got this book and it's clear the author has really done his research. His writing style is also very clear, concise and well thought out. Not overly chatty or pandering, yet not dryly accademic either. Precisely the kind of computer book I'd want to write!

    I'm glad the reviewer didn't try to talk a lot about why people should be interested in functional programs, however I must say that the ability to write large complex algorithms in very few lines, and prove mathematically that it works is simply a miracle in some situations. If you need to write a compiler (or do any other set of complex alogirthms on large recursive data structures, especially those that could take advantage of tagged unions, like Abstract Syntax Trees do) you should check out OCaml. And it doesn't hurt that it can figure out the type of all your functions and variables for you :)

    Oh, and if you happen to get this book, and want to play with OCaml, you can get the OCaml translation of the data structures in this book here.

    I dont' know if very many programmers will ever program in a purely functional language, however it seems that languages of the future will have to include things like first class functions and closures, as they are incredibly useful. I know Ruby and Python already support a lot of it.

    Oh and in case anyone's wondering, it *IS* possible to encapsulate things like notion of state, error handling, and I/O in a purely functional language ("side effect free" language) using something called monads. Now there's a fun concept to wrap your brain around!

    Hope some people here are brave enough to dig into a book like this that requires a bit of math, and more than a little faith at some points :)

    Cheers,
    Justin Wick

  7. Re:Mission Accomplished on NASA Says Mars Once "Drenched With Water" · · Score: 1

    I'll probably never understand the US security policies. While the US doesn't allow technology used in scientific programs to be exported.

    Well part of it is not allowing other countries to get "freebies" to run their own programs. Also a lot of NASA stuff can be used for all kinds of military stuff.

    the government itself exports weapons of mass destruction to countries they don't trust. After all, most of the WPM's in Iraq where labeled "Made in US"...

    I'm not going to get into a big argument about this, but as I understand it the vast majority of the weapons that Saddam had were actually of soviet origin, although yeah there were a few aging tanks that weren't exactly that useful, among other things. BTW did you mean WMD or is WPM something I don't know about?

    And I don't remember us giving out nukes to countries we don't trust... tanks/guns are not WMDs. Maybe you mean chemical weapons? I don't know much about that.

    Anyway, more dangerous navigation technology has been long around commercially and no-one objects. I'm taking about the highly sophisticated auto-pilots, now even available for small smaller aircrafts. With only a little bit of tweaking, you might be able to turn your commercial learjet into a big cruise missile. It might not be exact enough to hit a specific sky-scraper (although it might), but if you target Manhattan low enough you sure hit something important...

    I'm not going to publically discuss ideas for terrorists however it's true that there's all kinds of publically available research and technology that can be used to guide air vehicles.

    I sincerely wish we could release more of our stuff... oh well.

    Cheers,
    Justin Wick

  8. Re:Mission Accomplished on NASA Says Mars Once "Drenched With Water" · · Score: 2, Informative

    Maybe you could ask your chiefs to release more technical details, especially on the drive system and the autonomous waypoint navigation.

    Unfortunately no can do... all that stuff is ITAR sensitive.

    It makes a lot of what we do very difficult (some would say unnecessarily so) and keeps us from sharing some of the most awesome details with the public at large.

    This is the same treaty that limits the export of strong crypto, and has experienced so much resistence from geeks around the country that there is a civil disobedence process that has been going on online. I'm not advocating this but I find it interesting that people are willing to be "arms traffickers" to stop this kind of law.

    So if you want more details, you're going to have to ask your politician for it, because unfortunately it can't come from us :(.

    *NOTE: This post is not a criticsm of government policies and does not in any way reflect NASA opinions, only publically stated policy.

    Cheers,
    Justin Wick

    Mars Exploration Rovers

    P.S. Good luck with your robot. I'm thinking about making my own rover sometime... hmm...

  9. Re:Finally.. an end to religion on NASA Says Mars Once "Drenched With Water" · · Score: 3, Informative

    Now we find another local planet with ancient water on it.. The next find I expect is simple life living on Mars.

    How can any religion survive that revelation?


    I know you're a troll but it's a decent question.

    I work at JPL on this mission, however I'm also a Christian. And as a Christian I believe personally that God made some damn cool stuff for us to explore. If we find past life on Mars (and believe me, we are a long ways away from that) that won't make me feel any worse about how I believe. I will feel more awe, not less, at what I see around us.

    I'm not advocating my religious beliefs but it's amazing how many people assume all Christians are violently against the existence of extraterrestrial life. The Bible says we are special compared to what else is on this planet, and nothing more. Personally I'd be surprised if God wouldn't make more awesome, different types of "people" to enjoy this crazy universe :)

    Cheers,
    Justin Wick
    Mars Exploration Rovers

  10. Re:Mission Accomplished on NASA Says Mars Once "Drenched With Water" · · Score: 4, Interesting

    Slashdot may have its faults, but this is one if its best features. We can hear directly from the folks actually making the news. Rock on, Justin! Thanks for posting here and giving us a first person view of JPL, and thanks for helping advance human understanding of the mysterious universe in which we exist.

    Well, I may be pretty darn low on the totem pole here (I develope portions of the rigorously engineered ground data systems software, and solve random technical/mathematical problems for the scientists) however there's a nontechnical, human side to this exploration effor that I feel I"m qualified to shed some light on regardless of my rank. I work with a lot of qualified, amazing people, (Squyres really is as cool as he seems on TV) and it's something I wish more /.ers could experience. I'd invite all of you over here to be part of it (though I think a real-life slashdotting would be a horrible thing to see... it'd make a riot seem like a tea party). But I guess all I can do is share a few tidbits.

    I hope everyone here takes what I post as it should be - the thoughts of an intern who's been working with the team for 4 years, caught up in something so much bigger that never ceases to surprise, amaze, and overstress :)

    I would like to put forth something that many /.ers don't realize, that /. itseslf has been a contribution to NASA's space program. Myself and others I know have found many useful pieces of information on slashdot that we use in our work (that's how I justify my addiction :)). Hell, we certainly wouldn't be where we are without open source. Almost all of the tools my team uses are open source, and we have a lot of open source software incorporated into our program (Maestro/SAP, which will hopefully be fully openned up by the end of the year). I don't think I coudl give back to slashdot/OSS what has been given to me.

    Yes most of the comments are people randomly shouting about things they know nothing about, but there's always that insightful/informative gem in there that's educational, enlightening, or maybe just brings a chuckle to my workday (though I have a tendency to laugh rather loudly, probably not good for at the office).

    Thanks to all of you who post, especially those with something good to say!

    Cheers,
    Justin Wick
    Mars Exploration Rovers

  11. Mission Accomplished on NASA Says Mars Once "Drenched With Water" · · Score: 4, Informative

    Here at JPL, it is an interesting mixed feeling the scientists are having.

    On one hand, we've acomplished almost all of the stated goals of the mission. I saw the Long Term Planning briefing and the chart had item after item checked off... only the endurance section was left unfinished.

    Think about it. We landed not one but two fully functional rovers on mars, with the most comprehensive science package ever sent to another world. We have spectrometers of unmatched precision, we have the ability to examine betneath the surface of rocks and outcrops, and we've taken the most detailed pictures of mars ever recorded.

    We've explored rocks and craters and soils, and that was just the first few sols! All of this is an incredible accomplishment, especially considering the track record. The engineering part alone is enough to consider the mission a success.

    But since last week it's been clear to us here that we've found what we were looking for: evidence that clinches the case that Mars was once wet. That's when I say, "Mission Accomplished". That's more than many hoped to find, though we sent the mission as it is primarly because we expected this was *possible* if even somewhat unlikely.

    But we're not done yet. In fact if anything we have more questions to answer now. Mars has never failed to throw curve balls at us. There's all kinds of minerology that we're not sure about. We don't even know yet if this was just ground water, or actually lakes or oceans. But as long as these rovers still have life in them we'll continue to advance our scientific understanding of the planet.

    Regardless of what anyone thinks about the specifics of the President's plan, it's clear that public support for the program is very high now, considering that we have learned from our mistakes and have accomplished more than we could have hoped. I'm very optimistic that future missions will unravel many of the new mysteries we have discovered. It is truely, as they said on the briefing, a great time to be alive. The field of astrobiology is finally beginning to be taken seriously by the scientific community and even the public at large. We have seen that Faster, Better, Cheaper *can* work - as long as we don't try to bite off more than we can chew.

    I don't know when we'll actually have humans on Mars, but I'm hopeful that there's a real chance that in my lifetime (and maybe even my parents') we will find evidence of previous life on Mars. It'd be nice to know we're not quite alone.

    My congradulations to the science team for an incredible discovery, and I extend that to the taxpayers that graciously fund us, and to our supporters in all nations of this earth. We could not have made these discoveries without our valued partners in Europe, and they deserve to share much of the credit.

    I know some of you on slashdot ask why fund the space program. I hope that this makes it clear that you are getting your money's worth. Thanks for all of your support!

    Cheers,
    Justin Wick
    Science Activity Planner Developer
    Mars Exploration Rovers

  12. Re:Sample Return? on NASA Says Mars Once "Drenched With Water" · · Score: 1

    Sadly, while the current NASA programs envision a sample return "at some point," nothing is even close to being on the drawing boards, let alone atop a rocket

    Are you kidding? They have all kinds of prototypes sitting around at JPL that they've been working on perfecting for years. I've actually played with a few of them - they work rather well! Lots of clever, well-tested ideas.

    Besides it's not as if we've never done sample returns from another body before... we've gotten things from the moon and soon we'll have some from comets and even the solar wind.

    Yes there are a lot of challenges etc... but it's not like we haven't begun to face them. People have been working here on MSL (the '09 mission) from before I started working on MER, which was in 2000. That's one of JPL's missions: to develop critical technologies so that when it's time to put together an exploration mission, ideas, applications, and infrastructure are in place to handle it at a quick pace!

    I won't be surprised to see sample return pretty soon (
    Cheers,
    Justin Wick
    Science Activity Planner Developer
    Mars Exploration Rovers

  13. Re:OT on Slowing Down Atoms And Biomolecules With Lasers · · Score: 1

    Seeing as how you're on the "inside" of this thing...care to spill on any details of what the Big Announcement will be about tomorrow?

    Well I'm not allowed to say, except that it's worth watching :-D

    It's important, and it's good news. And it involves rocks. On mars. That's all I can say.

    It's worth waiting for :)

    Cheers,
    Justin Wick

  14. What's new? on Slowing Down Atoms And Biomolecules With Lasers · · Score: 2, Informative

    Not to troll but... this technique has been used for years! I've seen the setups (I still remember the issue of Scientific American that had a story about this - one of the reasons I went into physics).

    I guess it's not a bad interview, but was there something groundbreaking in there I missed? Or is this just one of those "it's not news, but it's still for nerds" things?

    Cheers,
    Justin

  15. ROTK Experience on Lord Of The Rings - Oscars, We Loves Them · · Score: 4, Interesting

    I know it's a bit late into the thread to be posting, but I'll share for those interested an interesting experience I had when watching ROTK in theatres (which I just watched again today, wow!) I feel that this experience is interesting enough to be worth sharing, so read on if you have a moment :)

    Last semester at Cornell University, i was the lead of the Computer Science subgroup of a small team of engineers attempting to design and build a snakelike robotic arm. The C.S. team had gotten everything we needed for our demonstration done (it was the end of the semester) so I decided to take the team out to see ROTK. The head of the team didn't care for this, as the other two subgroups (EE and MechE) were not nearly done getting the prototype ready to be demonstrated, and had expected us to help pick up slack.

    Before the movie I spent a lot of time on the phone explaining to them why their feedback control system would never work (they had 2 DOF for feedback and acceptable operation, but 3 degrees that had to be independently controlled, lest the robot break). I was very pessimistic and was just happy to be done with my part of the project (perhaps not the best attitude to have).

    So we went in and watched the movie. I was simply blown away by the movie and its underlying themes. I laughed, cried, and even sat in shock as the Riders of Rohan swept down the field of battle, as Eyowin killed the Witch-King, and as Gandolf and Frodo left the fellowship. I even didn't mind sitting an extra hour to watch all the loose ends tied up, to see the new stories that had just begun.

    After the movie it was past midnight, however the film had given me such a deep sense of hope and courage... it was as if seeing what epic struggles ordinary people went through on the screen made me realize that I too didn't have to give up, even if the problem seemed to be impossible.

    Filled with an intense sense of strength and optimism, our group took my car down to the lab where the rest of the group had been working in our absence. When I got there, they were all just sitting there looking unhappy - the microcontroller board was fried. The movie, however, had changed how I felt about things so much that I went from thinking the task was impossible with a microcontroller, to thinking it just might work if we did a few things right. Using various tricks I'd learned in my electronics class, I quickly announced that we could do everything we wanted provided we could get a few parts. I drew up on the board a quick schematic of a parallel-port controlled robot, and got the team to work. I felt like Steve Jobs, promising the impossible and yet somehow managing to get people to go along with it... Objections of "that's impossible" became excited assertions of "we can do this!"

    It was an amazing feeling, driving a team all through the night on an impossible quest... We ended up getting a lot done that night but not quite enough to get it to work. We did make some kick-butt digital to analog converters from some resistors we'd managed to "borrow" from sources undisclosed, among other things.

    The point of this post isn't the project I worked on, but rather the tremendous power that stories have. I thank Tolkien and Jackson and all those who made this experience possible. This story sounds ridiculous, but none of it is exaggerated.

    After the film, my roommate who was on the team asked me "Do you think anyone will ever have adventures like that?" It's not the kind of thing he'd usually say, but it's hard to think anyone could come out of the theatre unimpressed with the epic nature of the stories. It is my sincere hope that the courage, honor, bravery that was shown in the film will be shown by real people in my lifetime. The movies are great at showing the weaknesses of mankind, but it is the strengths in spite of those weaknesses that give me hope even though times seem to be getting dimmer each day.

    People can and will debate which of

  16. Re:Send the comm network before sending the humans on Vint Cerf's Disruption-Tolerant Networking · · Score: 4, Informative

    This brings up an interesting step in the path towards trying to settle Mars... would it be a smart idea to have communciations satellites orbiting Mars before we send the first humans?

    The current set of satellites provide communication links between the landers and Earth.

    Yes, however it's clear that the limited bandwidth provided by those satalites is not nearly as much as one would wish for an entire human settlement to have to share.

    Also it would be smart to have 100% dedicated communications satallites so that there would be less chance of something unrelated to communications causing a problem on the satallite.

    Don't get me wrong, the satallites have been great (I work on MER) however we still have to throw away observations due to bandwidth constraint, and we have to wait quite a bit to get data back, on the order of several hours... not an ideal situation!

    Maybe a few optical links with a radio backup would do the trick.

    Cheers,
    Justin

  17. Re:Floating point performance on Mini-ITX Clustering · · Score: 2, Informative

    If you want to see what your tax dollars (and more likely) corporate dollars are doing (the cluster is mostly funded by a donation from intel) check out A list of research done at the cluster. I'm sure that you can find many of those things to be "useful". If you cannot, perhaps you should read up on the science behind those efforts, much of it is very relevant to solving real world engineering problems, and advancing the state of the art.

    I would suggest that before you criticize a large research effort that you take a bit of your precious time to research it yourself first.

    Also, we happen to live in a democracy, so feel free to vote for candidates that are not interested in promiting science, technology, and a better understanding of the universe. You do vote, right? And of course if you feel that our government doesn't represent you and never will, you can feel free to choose another country of residence...

    Speaking of which, I seem to remember this weird network project that was funded by money spent on high energy particle physics. You know, that area of science that is so far from practical that it doesn't produce anything usable... I seem to remember this project being called the World Wide Web... A curiosity at best, we'll never see a return on our investment!

  18. Re:Floating point performance on Mini-ITX Clustering · · Score: 2, Informative

    Wow... here we go again, my old comments in bold, parent in italics, and new comments plain old text. Good luck!

    Think of FP as a lossy compression algorithm. It allows the use of orders of magnitude less number of bits because it alters the density distribution of the representable numbers to meet the above specificiations.

    This makes sense. With integers the density is uniform, which is impediment in some cases, but of help in others. [Any attempt to quantify the number of cases in each group is silly and will reveal nothing, but the attempter's personal bias. With my bias, I'll insist you are underestimating the number of cases, where such uniform distribution of density is useful and desirable.] However, unless you carefully choose the basic unit, you don't have control over the precision distribution. If most of your computations involve quantities on far edges of (you claimed 20 orders of (decimal?) magnitude) -- you are less precise than you may realize and the (carefull) use of integers may improve your results.

    My bias, having to do with this story and the great^n grandfather post is towards numerical cluster computing. Now I might be narrow sighted but having looked at the types of things which are generally done on supercomputing clusters (from books, web sites, and of course observing the supercomputing cluster which I work on, which is #50 in the world, so not exactly small) I see very few applications that do not have the requirements my previous post describes. Lots of multiplication and division by wildly different orders of magnitude... this can be found in almost all branches of science... only discrete math seems to have little of this.

    Also it should be noted that through the use of interval arithmetic, you can quickly find the maximum bounds on the error in a given floating point program. This is something that, to my knowlege, fixed point arithmetic cannot support. So, the amount of error is actually quite evident to the experienced numerical computer, and not "more than I realize". Any kind of numerical processing requires people to be careful, fixed point most of all (because most languages don't have fixed point infix operator support, and all shifts etc must be done manually).

    Also you should note that many applications do not have a "basic unit". Of course, they all have basic units! Usually, it will depend on the application's desired precision.

    A basic unit is an absolute number, however most error bounds must be given as relative error, and if the range of inputs on the program is unknown, then it is impossible to derive a "basic unit". What's more, the numer is generally meaningless in the types of constrained numerical systems which I described. The granularity is usually only meaningful in terms of significant digits, not absolute differential units.

    For instance, what is the "basic unit" of length? Depends on the application. In yours, it is, probably, some fraction of light year.

    The unit length in our simulation is, I believe, the radius of the neutron star. This can be as little as 10-100 kilometers. It should also be noted that the "base unit" represents the minimum discernable difference in measurements, and therefore must be much much much smaller than that for accurate calculations after many many multiplications.

    What if your "basic unit" of length is of a radicaly different exponent than your "basic unit" of energy or "basic unit" of time? Who cares? Even if my program operates internally on units as horrible as, say "pounds per square inch" (a.k.a. PSI) -- so be it. If 4.5 Newtons is my basic unit of force I want and the 0.025 meter is as precise as I want the length to be -- fine.

    What do you mean who cares? The quintessential question here is the varying orders of magnitude involved in calcuations! not to mention the fact that to multiply fixed point numbers together you will have to find a common base unit,

  19. Re:Floating point performance on Mini-ITX Clustering · · Score: 2, Interesting
    Ugh. I was hoping to avoid a long discourse in the theory of computational arithmetic however you leave me no choice.

    Point by point:

    You did not get it. You are looking at the bit (and byte, and word) as a number. I suggest you look at it as a unit of information. With 64 bits you can only have 2^64 distinct possibilities. If you choose to treat them as numbers -- fine, you only have 2^64 distinct numbers.

    Okay FYI I do remember first year discrete math, I have experience with inner details of computer architecturs, I understand two's compliment representation, IEEE floating format, how ALUs work for integer operations etc... I have read Shannon's information theory paper etc. What you are saying doesn't change the reality of the situation though, because you are looking at numbers without regard for the staggering dynamic range in real life scientific computations.

    You may split the 64 bits to use some of them to represent the mantissa and some as the exponent. Or -- use all of them to represent the integer number of the smallest units in your application's domain.

    Yes and both approaches have very different merits. For most numerically intensive programs, there are very specific requirements for numerical precision. All numerical programs are necessarily approximations to infinite precision arithmetic, and the following constraints are the norm:
    • Additions/Subtractions of similar magnitudes must be accurate
    • Multiplications/Divisions of very different magnitudes must be accurate.
    • Square roots, trigonomic operations, and exponentiation must be accurate.

    Now if you examine fixed point arithmetic, you will find that the first criterion is met, however the second and third are not met nearly as well as they are in FP of the same number of bits.

    The nature of scientific operations is such that it makes sense to think about numerical calculations in terms of significant digits, due to the nature of error propagation in numerical arithmetic.

    The second method, actually, gives you better precision in a controllable (by you) fashion. If the difference between the smallest and the biggest quantity of those minimal units in your application exceeds 64 orders of binary magnitude, than 64 bits is not enough for you -- regardless of whether you use floating or fixed point. You either lose precision (FP) or overflow (int).

    It most certainly does not give better precision for the same number of bits used. Think of FP as a lossy compression algorithm. It allows the use of orders of magnitude less number of bits because it alters the density distribution of the representable numbers to meet the above specificiations.

    Also you should note that many applications do not have a "basic unit". For instance, what is the "basic unit" of length? What if your "basic unit" of lenght is of a radicaly different exponent than your "basic unit" of energy or "basic unit" of time? In physics applications these basic units are near infinitesimal... we're talking 10^-51 or smaller! Then add to that that astrophysics simulations tend to work on scales that are 10 orders of magnitude greater than 1, you're talking about a dynamic range that is clearly rediculous!

    The reason to use FP may be because it is more convenient to think in terms of standard units, rather than the minimal units of the application (its precision). Also, many CPUs have special features allowing to do FP computations really quickly. But it is possible to go without them.

    The problem here is that you are thinking in terms of absolute error. In most cases it is the *relative* error that is important, not the absolute. Because of the exponential notation, relative error is minimized for any given number of bits used to represent numbers.

    Another issue that you fail to mention is that integer overflow is rediculously easy to run into when using several multiplications in a row.

  20. Re:Floating point performance on Mini-ITX Clustering · · Score: 1

    For our applications, the numerical error in normal 32 bit IEEE Floating Point is good enough... Our processing power is still a bit limited, and there are other sources of error in the program, mostly due to having imperfect boundary conditions.

    I understand what it's like to want to overoptimize everything..> iw as brought up on a 68030 processor, and I did fixed point myself for a lot of things as I didn't really care about accuracy (it was just a video game!)

    Then I started using real math in my code! :)

    Cheers,
    Justin

  21. Re:Floating point performance on Mini-ITX Clustering · · Score: 1

    I only claimed that almost any algorithm.

    Uh... If you mean rediculously simple algorithms that people use for non-intensive stuff, perhaps. Anyone who's using a cluster to run a numerically intensive program is most likely using serious numerical algorithms.

    Try reading Numerical Recipes, I think you'll see that most numerical algorithms are sensitive even to Floating Point error enough that degrading it even further would be quite disasterous.

    Or maybe you are still thinking about adding dollars and cents?

  22. Re:Floating point performance on Mini-ITX Clustering · · Score: 4, Insightful

    The floating point is just a convenience. Almost any algorithm can be modified to work with fixed point precision -- and without loss of performance.

    Apparently you've never done any numerical computing, especially of the scientific variety. In an astrophysics simulation, for instance, the density of a field may span over 20 orders of magnitude, hardly reasonable to do with fixed point arithmetic.

    Not to mention that many iterative algorithms can oscillate wildly in the presence of numerical error.

    It is true that there are many other uses for a cluster besides numerical computing, however the idea that any floating point algorithm can be converted to fixed point could not be more wrong.

    Disclaimer: My research at Cornell University is high performance clustered numerical computing.

    Cheers,
    Justin

  23. Re:Isn't this called a Nova? on Exploding Neutron Star · · Score: 5, Informative

    I am not aware of any other uses for the term "nova" than in "supernova".

    Along with the ordinary use of "nova" there is also something called a hypernova. Think of it as a supernova's big brother.

    I was privileged enough to be at the colloquium where Hans Bethe unveiled his theory about hypernovae and gamma ray bursts. You can find an interesting paper on hypernova at Cornell's arxiv.org.

    Cheers,
    Justin Wick

    P.S. The papers done the research group I'm in at Cornell talk about things similar to this accretion process. They can be found here.

  24. Re:New tests for gravity. on Weighing An Attogram · · Score: 4, Informative

    If they can use this to measure very small forces on very small objects, they might be able to construct some interesting tests of gravitational fields or of quintessence.

    I don't really think that this technology in its current form can measure the forces on a particle that size. If you read the article, it is measuring the mass by measuring the resonant frequency, not measuring the forces present on the object.

    Yes I know that external forces can shift the frequency (due to nonlinearity) however I do not think that the precision of the device allows for measurement of such a weak effect.

    This has little to do, as another poster metioned, with other forces masking things at this small scale, but rather with the fundamental nature of the measuring device.

    Disclaimer: I'm a semester away from my BS in physics.

    Cheers,
    Justin

  25. Re:Is this possible? on Two Spam Filters 10 Times As Accurate As Humans · · Score: 1

    How does one test a program like this that's more acurate the humans?

    I believe the number that they give concerns how accurate humans are at determining spam without reading the entire message.

    Consider a test setup where 10 humans must independently reach the same conclusion after reading each email (in isolation). That should reach 100% accuracy on this sample size.

    Of course what I suggest is probably overkill however if you have to read an entire spam to decide accurately whether or not it's spam, then the spammers have won.

    Cheers,
    Justin