Slashdot Mirror


User: spitzak

spitzak's activity in the archive.

Stories
0
Comments
5,741
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 5,741

  1. You have the wrong meaning of open source on The Care and Feeding of Open Source Software · · Score: 1

    Hell, even here on slashdot, people still think we are talking about zero-cost software.

    That 1970's software often included the source code. I certainly remember the basic interpreter on our school's first computer came with an entire printout of the source code (it was assembler). There was also the source code to the assembler. The first company I worked for sold CP/M software that came with the entire source code (the FinalWord word processor, also called Mince and Scribble). In all these cases the software cost money, sometimes huge amounts. But the source was "open".

    "open" in that you could read it. Technically this code would not make RMS happy, as it was copyrighted and you could not use it for any purpose other than understanding how it worked. However it was certainly a much better situation than we are in today.

  2. Not sure if this is accurate. on Samsung Announces Zero Dead Pixel Policy · · Score: 1

    Windows does have a "DPI" and I thought it acted like it was hard-coded to 96. The only effect I know of is that you can ask for a font in "points" and in "pixels" (specified by setting the point size negative) and you always get the same font by asking for 3/4 the number of points as when you ask for pixels. At one time (Windows 3.x or so) this ratio did vary depending on the screen, but they fixed it because far too much software assummed they would get a particular size when asking for a font.

    There is in addition this call which I think does return a real DPI, but the value here does not affect the size of fonts:

    monitor.dpi_x_ = GetDeviceCaps(GetDC(0), LOGPIXELSX);
    monitor.dpi_y_ = GetDeviceCaps(GetDC(0), LOGPIXELSY);

    The "preferences" (from the monitor control panel appearance tab?) to change the font size just makes the following call and some similar ones return a different values, since these values are then expected to be used to pick fonts I don't think it can or should change how points are converted to font sizes:

    NONCLIENTMETRICSA ncm;
    int sncm = sizeof(ncm);
    ncm.cbSize = sncm;
    SystemParametersInfoA(SPI_GETNONCLIENTMETRICS, sncm, &ncm, SPIF_SENDCHANGE);
    const char* fontname = ncm.lfMessageFont.lfFaceName;
    int fontsize = ncm.lfMessageFont.lfHeight; // fontsize is positive for points, negative for pixels

    Then again I could be mistaken, like you I do not have a Windows machine to check this out on.

  3. Re:ACLs are not a step forward on Introducing the Mockup Project · · Score: 1

    Although I agree that ACL's are a good idea, your description of NT sounds EXACTLY like Unix groups. In fact your post could be considered an argument against ACL's and for Unix groups. This does not lead me to believe you really know what you are talking about.

  4. Electra almost there on Introducing the Mockup Project · · Score: 3, Insightful

    They almost get it. In electra it appears all the keys are stored in individual files. However there is still some screwiness in the filenames and a serious problem in that the file contents are still not raw.

    Here is how it should work:

    1. There is NO library. You use libc functions like open() to read the "configuration"

    2. The filename is the key, just like electra. Programs use simple rules to find the actual file from a keyname: prefix $HOME/configuration/ and if not found prefix /configuration. Electra seems to use "$HOME/.kdb" and "/etc/kdb" which seems to be rather cryptic.

    3. The contents of the file are the "value". There is no "comment" or other data stuck in it that requires a parser. A "comment" can just be another key, ie app/key can be described in app/key.comment.

    4. The value is a string of bytes with a length. It is not UTF-8. UTF-8 is highly recommended but there is no reason to enforce it. Any "registry editor" is required to preserve the bytes exactly as-is if the user does not change it, but if it thinks it's UTF-8 text it can present it to the user that way and let the user edit it. If the "registry editor" needs to figure out the "type" it could be standardized as being stored in the file key.type, but I don't think it is necessary. It is pretty easy to guess the type of data with 99.9999% accuracy.

    Things Electra got right:

    1. No XML or any other type of file requiring a parser

    2. Ability to "comment out" a line (they rename the key by putting a period before it). Finally somebody has realized why text configuration files are still 100 times easier to use than the fanciest GUI.

  5. Re:Damn you 2s Complement! on Comair Done In by 16-Bit Counter · · Score: 1

    char defaults to signed mostly because the PDP11 did sign extension when reading 8-bit data into a 16-bit register.

    Later machines acted differently, which led to the decision to say the default for char is compiler-dependent. Certainly true of the 8080, perhaps true of the 8086?

    Eventually machines became powerful enough that they provided two instructions to load 8-bit data so the compiler could choose to act either way with no speed loss. Although initially the majority seemed to be unsigned due to the 8080, in this case official standards prevailed over popularity. The fact that char was signed in the first C compilers, plus the consistency of having all integer types default to signed, pushed the C standards to define signed as the default.

    Personally I have never wanted a char to be signed and would be perfectly happy with unsigned.

    I suspect i18n and UTF-8 would be much further along if char defaulted to unsigned. Because of stupid code that did things like c=' ' to test for whitespace, it was easier in many cases to switch programs to "wide characters". Wide characters have been the biggest impediment to i18n because they prevented solutions that are truly compatable with communication and system API's, resulting in a horrible mess that we will probably be still cleaning up 30 years from now. The proper solution is UTF-8.

  6. Re:Why is it case sensitive ? on What's Wrong with Unix? · · Score: 1

    Try explaining that "my mail" and "mymail" are different files. Or try explaining that "mymai1" is a different file than "mymail". For some reason your "user friendly" system gets this just as wrong.

    The problem is that people like you refuse to acknoledge that a filename is a STREAM OF BYTES. In fact all bytes should be allowed (Unix sucks in that '/' and 0 are not allowed) and if any byte is different than that is a different file. A stream of bits (ie a length that is not a multiple of 8 bits) would be even more ideal, but I doubt that will ever happen.

    On top of a system like this you can build amazing user-friendly systems that do full intelligent spelling correction of what the user types in. Probably of more immediate importance is that this would allow UTF-8 encoded names and a user-level library to do case insenesitivity, which is not practical in the filesystem. But this is not possible as long as the lower levels try to be "smart". It has been well established that you want to keep user interface out of the low level OS design. Yet for some reason huge numbers of people who agree with this have blinders and cannot see that "case insensitivity" in the file system is exactly that.

  7. Re:link and file managment on What's Wrong with Unix? · · Score: 1

    Such a file system would use a "hash table". What you do is take an MD5 type sum of the data in the block. Reduce this to the size of the hash table (take the sum modulus the size of the hash table). This would be a pointer to the first of any pages that went into that entry in the hash table. You would only have to search these pages. If the table has 64,000 entries you on average only search 1/64,000 of the pages, not all of them.

    Of course any real implementation would be more complicated and far faster than my description. Proper design of the hash sum and expansion of the tables may make the number of pages searched close to 1. Also you can design the checksum so that the chances of two different pages having the same sum is astronomically impossible, then you don't have to compare the actual page data.

    I actually like his idea quite a lot. I had thought that allowing static-linked binaries to have the memory savings of shared libraries could be done by the program loader by hashing read-only memory pages, but putting it in the file system is an even better idea.

  8. Re:8-bit UI unusable in a 32-bit world on What's Wrong with Unix? · · Score: 1

    Try the "file" command. It identifies a file by the contents (ie line #1). This is the way it should work, it should not be done by extensions or "attributes". Unfortunately reading every file to list a directory in a pretty way is too slow, leading to the extension hacks that Windows has done.

    And I have to rant: anybody who thinks putting a user interface thing like matching the case of ASCII letters into the operating system is a good idea is obviously completely out of touch with reality and knowledge of how things work. "case insensitivity" is why we don't have working I18N or UTF-8 on Windows (or Unix which has to interoperate with Windows file services). I'd also like to know why the secretary confusing "1" with "l" or swapping two letters or replaceing one space with two is not considered a problem, while changing the case of a letter is considered a problem.

    The fact is files should be identified by a stream of bytes. The fact that '/' and 0 cannot be used as a byte in a filename is in fact a deficiency of Unix, but it is still an order of magnitude better than Windows, where "case insensitivity" and about 20 reserved bytes, and the totally brain-dean use of "wide characters" has made intelligent use of filenames impossible.

    If filenames were raw streams of bytes we could have user interface code that did fully intelligent spelling correction of what your secretary types in. But instead we are stuck with 1970s technology where replacing 'a' with 'A' was considered clever, but even changing the length of the name was out of the question.

  9. Re:The I/O Model on What's Wrong with Unix? · · Score: 1

    You are completely off base. The byte-stream model has nothing to do with how tape drives worked in the 70's. They in fact required blocks of data to be delievered. It actually matches how video and teletype terminals worked on small minicomputers (as opposed to mainframes, where block send/receive of forms ruled).

    The Unix model of I/O shows that they were actually thinking about interactive use as being the most important aspect of the system, while other systems acted as though disk and tape I/O were the most important thing.

    Also the byte stream gave rise to telnet style interfaces and virtually every single thing we do on the net today can be directly traced back to Unix byte stream interfaces.

  10. Re:needs some VMS stuff on What's Wrong with Unix? · · Score: 2, Insightful

    This would not be a problem if "the file has been deleted" was just another version of the file. The fact that VMS (and also CVS) got this wrong does not mean that there is a difference between write access and delete.

  11. I did this on A USB Typewriter? · · Score: 3, Interesting

    Well, with a lot of help from my dad. Long time ago.

    The machine was an IBM Selectric editing machine, designed to read paper tape and punch it. My dad wired amps to the paper tape reader so that the parallel port of a CP/M machine could drive it. I wrote the CP/M printer driver to convert ASCII to the codes the typewriter used. I think it was 5-bit, and there was a code for shift-up and another for shift-down, so the driver had to keep track of this state.

    It printed quite beautifully, exactly like a typewriter. At the time everybody only had dot matrix, so reports and letters typed by this thing looked vastly superior.

    It could also print proportional space (excellent for writing reviews of Bush's service records) but we did not have the printhead, which apparently turned this on.

  12. Re:IE browser helper objects. on How Can I Trust Firefox? · · Score: 1

    I thought maybe that was the problem, but I really could not see a logical reason not to add it to the "Internet Options" panel, which already had a scrolling list of checkmarks for turning on/off many things (internal browser actions, the ability to install ActiveX plugins, etc) so I really figured you were bullshitting. Not that where Firefox put the stuff is any better. Why isn't it in the obvious preferences/options pane in either case?

    In any case we cannot install SP2 as IT has not approved it and it is known to break Houdini, one of our main pieces of software.

  13. Re:IE browser helper objects. on How Can I Trust Firefox? · · Score: 1

    On my machine the Tools menu in IE has this:

    Mail and News >
    Synchronize
    ------------------
    Show Related links
    Sun Java Console
    ------------------
    Internet options...

    I looked all over the Internet options but saw nothing similar to what you were talking about. Looked around for an "advanced menus" but could not find that either.

  14. Re:And Firefox is vulnerable to other attacks on New Spoofing Vulnerability in IE · · Score: 1

    It does work on Safari. There are two options, one of them works (I forget which). You need to reload the source page before clicking on the other option.

    I didn't try it, but apparently it is similar in Firefox. One of the options works, and you also have to make the second site be in a new window, not in a new tab. The combination of that requirement and the fact that you must reload the source page before each click has led a lot of people to say it doesn't work. It does.

  15. Re:Shameful misinformation on Interceptor Missile Fails Test Launch · · Score: 1

    Do we launch the Space Shuttle because four risk-averse computers can't agree on whether to launch 5 seconds before liftoff? Is that a failure, or in light of Shuttle history, really a big sigh of relief?

    Yes, that IS a failure!

    The Shuttle would have failed to launch.

    If the plan was to not launch the shuttle it would be a lot easier to leave it in the hanger and not call everybody into work that day.

    You really should give up on this part of the argument, it's making you sound like an idiot. Your other points were good (about them "not knowing the cause") so stick to that.

  16. Re:In Socialist Canada... on MPAA to Sue BitTorrent Tracker Servers · · Score: 1

    The biggest lie with these ads is that all the types of workers they are showing are paid scale. They do not lose anything if the movies is pirated, every single penny they would get for their work they have already received.

    Their only concievable worry is if piracy would make movies unprofitable and thus stop being made and thus put them out of a job. However realistically the threat of this is only about 1/10e9 of the threat of productions running away to a foreign country for tax or labor savings and thus depriving the worker of their job.

  17. Konquerer 3.1.4 mostly not-vulnerable on New Vulnerability Affects All Browsers · · Score: 1

    The "without popups blocked" option opened a new tab for Citibank and then showed the correct Citibank popup.

    The "with popups blocked" option was strange and "reverse hijacked". It opened the new tab for Citibank, and clicking on the image resized the whole window to the size of the popup and then changed the *secunia* site to the correct contents of the Citibank window!

  18. wrong on Consensus on Global Warming · · Score: 1

    The article you are referring to says Mt St Helens polluted more than any *single* factory in Washington State. You seem to be implying that it polluted more than all the factories in the world combined. In fact the article points out that human produced pollution is about 100 times greater than all the volcanoes in the world combined.

  19. Re:I don't think so. on Lone Activist Group Submits 99.8% of FCC Complaints · · Score: 1

    What I meant was that the people who voted for Bush believed that the reason for voting for him is that he would be better for the economy. What they believe has nothing to do with whether it is true or not. But it does mean they did not vote for him because they agreed with the "moral majority".

  20. Re:Ok on Programmer Claims he was Paid to Rig Votes · · Score: 1

    I should point out that most knowledgable people know these problems do not mean that Bush stole the election. For the electronic voting machines to have actually changed the election result would require unrealistic scenariors where 70% or more of the voters in those counties voted for Kerry, while mysteriously neighbor counties voted for Kerry only 49% of the time. That did not happen. But that does not mean that nothing happened either. Also there is certainly the possibility of machines being fixed the other way to throw votes to Kerry, finding these would help a lot in convincing everybody to fix the system. This is actually the best time to investigate these machines as it *won't* cause political turmoil.

  21. Re:I don't think so. on Lone Activist Group Submits 99.8% of FCC Complaints · · Score: 4, Insightful

    I agree even though I'm pretty much a Liberal.

    It is pretty obvious that a huge block of the people for Bush (including all Bush supporters I know) were more concerned about Terrorism or economic policies or taxes or the free market than about "moral issues". They believe that Bush would be better for the economy or their safety or for their future, and the extreme conservative social values are a *problem* with Bush, but don't outweigh their desire for Bush's other policies. Trying to claim that Kerry lost because of a small group of religous bigots is just an attempt by the left to pretend that only crazy people disagree with them.

    The best proof of the unimportance of the "moral majority" is that they are starting to go crazy with attempts to kill any change to the constitution to allow Arnold Schwartzenegger to be president. You would think the liberals would be the ones trying to stop it, but they are not. The "moral majority" knows that Arnold would easily win the Republican nomination despite the fact that he disagrees with their "majority" on virtually everything.

  22. Re:linux not there yet on Professional Photographers Using Linux? · · Score: 3, Informative

    As to the "48-bit Float" comment I assume you mean 96-bit Float for RGB (3 components * 32-bits = 96-bit) since the "float" type is 32-bits.

    There is in fact a 16-bit float format, commonly called "half". It was developed by ILM as part of their open-source EXR image library, and is now implemented in hardware by nvidia and other graphics cards. So "48-bit float" is in fact quite possible. There is no reason to use 32 bit float for brightness information, as the brightness resolution is then about 100,000 times better than the human eye. The main reason it is used is because that is the smallest floating point format supported by Intel hardware.

    However there are very very good reasons to use floating point instead of integers. They are naturally a "log" space that matches how they eye perceives brightness (ie the samples are closer together near zero) and they can cover high dynamic range (HDR) such as a light of brightness 32000 verses the 1.0 for paper, and still show details in dark shadows. They also allow the number to actually represent the brightness of the image, which makes filters such as blur and sharpen actually work.

    I highly recommend that any future Gimp or Cinepaint other development ignore integer or fixed-point and use "half" for representing image brightness. It is the same size but vastly superior to 16-bit.

  23. Perhaps stupid question about DNS on Set up a DHCP server to manage IP addresses · · Score: 1

    Would it be possible for a small router box (such as one running Linux) to also supply a local tiny DNS?

    My cheapo commercial router/firewall seems to know the "name" of each machine, as it shows that name along with the MAC and IP address in it's web page (admittedly Linux makes it a pain in the ass to locate and change this name, why can't it match the hostname automatically?). However if I do "ping " it does not work. Adding the name and IP address to my /etc/hosts table does work, however.

    So a couple questions:

    1. Would it be possible for the router to do DNS such that any attempt to name a machine that is on the local net produces the local net address.

    2. If this is possible, why isn't it done? (ie on a commercial Linux-based router)

  24. Re:"Framework" on Linux on Unifying Linux Package Management · · Score: 1

    Hey thanks, that works! And it does the right thing if there is a symbolic link to the program, or from the program's directory to the library. Great!

    It would be nice if they documented this. I searched and found the -rpath switch, but never found anything saying the special text ${ORIGIN} does anything.

    Also in make you have to put two $$ to prevent make from expanding it.

  25. "Framework" on Linux on Unifying Linux Package Management · · Score: 2, Interesting

    Our own software (commercial, Digital Domain's Nuke Compositor) now does approximately this because we were burned too much with it not working on even the slightest difference in machines.

    1. Everything is in a single directory. "installation" just puts this entire directory somewhere in the system. We let people choose where. It adds one symbolic link to the path, too (actually the current installer does not even do this link, we let the end user do it).

    2. In that direcotory is a tiny c-only program with the name of our program. This is what the link points at and what people think they are running.

    3. This program uses /proc/self/exe and readlink to find it's own name. It takes the directory and adds it to LD_LIBRARY_PATH. It then tacks a '_' onto the end and exec's that program (the name was chosen so ps lists seem to show the right name).

    4. That program with the '_' on the end is the actual program. In addition it can assumme argv[0] is a fully-expanded path name. It uses this path to locate data files like configuration information and plugins. And because of LD_LIBRARY_PATH it also searches in it's own directory first for libraries.

    5. All libraries people have trouble with get their own version sent by us as part of the install package. This resides in the directory and thus only affects running our program. So far we have had to do libtcl, libtiff, special libraries required by the Intel compiler, our compilation of ILM's EXR library. We have NOT had to do glibc or glibc++ or any of the huge ones, these are actually quite portable.

    6. We tell customers that if they are concerned about reusing libraries, to try renaming our copies so they are not found and thus they get the standard ones. This means that a Linux guru can tweak this just as good as any other install, but for the average person it just works!

    Honestly I really don't know if this is a good solution, but it works for us quite well. I do think it is annoying that support for this is not more native, especially the inability to search the current directory for libraries, something that Windows does and inspired this solution.