Slashdot Mirror


User: Nurgled

Nurgled's activity in the archive.

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

Comments · 914

  1. CSS already supports this! on What Makes a Good Web Font · · Score: 1

    CSS already has support for describing fonts. Look at the @font-family at-rule. What's more, Internet Explorer has supported it for years, with the proviso that you provide a font definition in their "eot" format. Since CSS allows you to provide several formats, there's nothing to stop someone inventing an open embedded font format which can be used along side it with CSS2.

    There has been debate on Mozilla's Bug Tracker and on Opera's community forums about adding similar support to these browsers, but thus far the developers have been uninterested. It degrades well, though, so there's no reason why you can't go ahead and provide embedded fonts for IE and some generic fallbacks for the rest.

  2. One problem NAT causes on IPv6 Transition to Cost US $75 Billion? · · Score: 1

    Here is an example of a problem with NAT and private addresses that I face frequently:

    In my house I have several computers which all have addresses with 192.168.0.0 addresses. My router, which does NAT, has the address 192.168.0.1. My local web/email/nameserver box has the address 192.168.1.1. Client machines have various addresses that are unimportant here. At my office there are also several computers. The office network, which existed long before I worked at the company and is not under my control, also uses addresses in the 192.168.0.0 range and uses the same subnet mask.

    Occasionally I work at home. When I do this, I establish a VPN login to my office which gives me one address on the office network. Now the system that logged into the VPN is now a member of two networks with the same subnet mask. Worse, many of the servers at the office have IP addresses which exactly match computers on my home network. Hopefully you can imagine the resulting problem. I can renumber my machines to use the 10.0.0.0 prefix, but then I suddenly find that I need to create a VPN connection to a client site for support and they use 10.0.0.0.

    One can envisage schemes for crazy NAT arrangements between the networks to make them appear to be on different prefixes, but this functionality is not readily available as standard. My solution is a little more mundane; I just add entries to my routing table for specific hosts that I need to connect to and keep my existing route for 192.168.0.0/16 pointing at my home LAN. This works, but each time I need to connect to a new server I must find its IP address and add a new route for it.

    This would be so much easier if all of the involved systems had globally-unique addresses, even if those addresses were not actually accessible over the public Internet directly due to a firewall. I'm not the only person in the world that uses a VPN, either.

  3. Re:75 billion? who cares, it isn't going to happen on IPv6 Transition to Cost US $75 Billion? · · Score: 1

    NAT doesn't act as a security mechanism. If all you have is NAT, then all you've achieved is that packets leaving your network get their source address rewritten and some state stored in a table so that the reverse can happen to returning packets. If I send a packet to your router with a destination address of 192.168.2.1, it'll happily pass that packet through to the host on your private network that has that address. The software that filters that out is not part of NAT, but is instead a firewall. The waters are muddied by the fact that both stateful firewalls and NAT gateways keep a connection state table, and so many implementations share the same state table between the two components making it hard to conceptually separate the two.

  4. Re:CSS on The Future of HTML · · Score: 1

    CSS2 actually has a table model in it already. Internet Explorer, as usual, is the one spoiling all the fun.

  5. Re:Obvious on The Future of HTML · · Score: 1

    The vertical-align property specifies the alignment of the element's box in relation to other inline boxes in the same flow. It's the CSS equivilent of the ALIGN attribute on IMG. When you apply vertical-align to a table cell, you are setting its alignment relative to other cells on the same row. You can't apply vertical-align to a block element because there isn't anything on the same line as it by definition. text-align is called text-align because that's what it does. It aligns the content of a box (the "text") rather than the box itself.

    Of course, I'm not defending the fact that CSS provides no sensible way to do the vertical equivalent of text-align; Designers quite often want to center content vertically within its box rather than aligning the box itself as vertical-align does, so it's insanity that such an ability is not provided. CSS has many deficiencies regarding heights and other things that operate vertically; I think the root of the problem is that screen-based CSS is founded on the concept of an infinite vertical canvas, so therefore any non-absolute height specification would also be infinite, and anything aligned vertically within an infinite-height box would have an uncalculable position.

  6. Beware Accessibility Issues on AJAX Applications vs Server Load? · · Score: 2, Insightful

    This isn't directly related to your question, but it's something that most people experimenting with "AJAX" seem to be overlooking. It's too easy to fall into the trap of using XMLHttpRequest to do everything just because you can, but by doing that you are restricting yourself to a small set of browsers that actually support this stuff. This doesn't include many of these phone/PDA browsers that are becoming more common.

    Also worth noting is that changing the DOM can cause confusion to users of aural browsers or screen readers. In some cases this doesn't cause a major problem; for example, if you have a form page where choosing your country then changes the content of the "select region" box that follows, the user will probably be progressing through the form in a logical order anyway and so the change, just as in a visual browser, won't be noticable. However, having a comment form which submits the comment using XMLHttpRequest and then plonks the some stuff into the DOM will probably not translate too well to non-visual rendering, as the user would have to backtrack to "see" the change.

    Of course, depending on the application this may not matter. Google Maps doesn't need to worry about non-visual browsers because maps are inherently visual. (though that doesn't actually use AJAX anyway!) Google Maps would be useful on a PDA, however. I'm not saying "avoid AJAX at all costs!" but please do bear in mind these issues when deciding where best to employ it. Most of the time it really isn't necessary.

  7. Re:what we need for compliant browsers on What's New With IE, Firefox, Opera · · Score: 1

    Certainly Windows itself can do the alpha blending just fine, but in IE itself the image loaders are separated out into modules. The API defined for the rendering engine to talk to the image loaders does not support alpha-channel images, so the PNG loader blends the image against a solid background and passes that back to the rendering engine. There was a post in the IEBlog about this some time ago from the person who fixed it for IE7.

  8. Re:what we need for compliant browsers on What's New With IE, Firefox, Opera · · Score: 1

    IE blends PNG images with an alpha channel against the background matte color specified in the image file or, if that chunk is absent, against the control background color specified in the Windows appearance settings. As you noted, that color is generally gray by default.

    You can use pngcrush to add the appropriate background chunk to get IE to matte against a more appropriate color if you wish. It might not look quite as good as it does in a browser that blends against the underlying elements, but at least you can control what color is used so that it doesn't look so ridiculous.

  9. Re:what we need for compliant browsers on What's New With IE, Firefox, Opera · · Score: 1

    Criticizing broken implementations is one thing, but complaining that browsers don't support every single standard that's come out of the W3C is a bit much. What would this phone: URL scheme actually be for in practice?

    You seem to underestimate the amount of work that comes between the publication of a standard and a correct implementation of that standard. SVG support isn't something that you can just magically generate from the spec; it requires one or more programmers to carefully read the spec and come up with a workable way to implement it, and then of course they actually have to write the code. It's simply not practical to implement everything, so the browser vendors cherry-pick the stuff they think will be most useful to their users/customers.

    Incidentally, IE6's PNG loader does support alpha transparency. Unfortunately, IE's image loading framework -- which dates back to IE4 at least -- was designed with the assumption that all images have only one-bit transparency, so the PNG loader simply cannot pass back the image with alpha channel to the renderer. Sure, Microsoft could have redesigned their image loading framework, but clearly they decided that there were more important things to implement.

  10. Re:Strive for diversity, not one or the other... on Introverts Have More Brain Activity? · · Score: 1

    I do agree with you to a certain extent, but there's no reason why you shouldn't be able to make observations such as "I tend towards introversion more than extroversion". You don't have to just pick one word; you can pick a whole bunch of them, and use qualifiers like "a bit" or "mostly" to modify them. Let's not demonize research into human behavior on the grounds that it's "labelling" people. We need to identify and name the extremes to make sure that we're all on the same page.

  11. Re:NULLs on MySQL to Counter Oracle's Purchase of InnoDB · · Score: 1

    I've never had much problem with the idea that one "nothing" is not the same as another "nothing". If I know that two people both don't have a middle name, do those people both have the same middle name? If two people don't have a car, do they have the same model of car?

    Your case of displaying a full name optionally including a middle name is one particular case where the result is sub-optimal, but all it requires is a little more care when dealing with optional fields. Most applications don't concatenate strings as part of database queries anyway; they fetch the data and then figure out how to present it at the presentation level.

    Finally, I wonder how you would represent "non-applicable" in a case where you have a foreign key constraint referring to another table. That field must either have NULL or a valid key to satisfy the constraint. If we've used NULL to mean "I don't know", then how to we represent "I know that this is not relevant"?

  12. Re:Don't use self-signed certs. on Web Browser Developers Work Together on Security · · Score: 1

    It seems to me that the right approach here would be to add your self-signed root certificate as a trusted root on all of the systems on your LAN. Sure, this means that you need to do some per-machine configuration, but at least then you know that from the outset everyone is talking to the right server and so if a warning message appears it really is worth paying attention to.

  13. "Supports DRM!" on Barenaked USB Drive · · Score: 1

    I was shopping the other day and happened upon a rack of portable music players which could play MP3 and WMA files. The packaging had on it, in large letters in the middle of one of those "look at me" star-shaped thingers, "SUPPORTS DRM!"

    The word "DRM" is being perverted to mean "can play DRMed WMA files", which is of course a desirable feature. The masses will soon come to think of DRM as a good thing despite not knowing what it really means, and that scares me.

  14. Re:Silly on MySQL to Counter Oracle's Purchase of InnoDB · · Score: 1

    I tend to use NULL to mean that I know that there is no value. Setting a field so that it allows NULL is like saying "not all things of this type have this property". Setting a field NOT NULL says that all things of this type DO or MUST have this property.

    This doesn't allow for "I don't know", but some would argue that you shouldn't be storing things you don't know about in a database in the first place. :)

  15. Re:Disallow DELETE or UPDATE without WHERE on How Would You Improve SQL? · · Score: 1

    I agree wholeheartedly. My main beef with SQL is that it is optimised for doing the wrong thing in so many cases:

    • It's easier to select all rows from a table than it is to select a specific one.
    • It's easier to select all columns from a table than it is to select the subset you are interested in.
    • It's easier to delete all rows in a table than it is to delete a specific one.
    • It's easier to clobber all rows with an update than to update a specific one.

    One thing I do more often than anything else operating on a single row based on its primary key. Why is that so hard?

  16. Re:Index! on Google To Resume Scanning Books · · Score: 1

    Remember that lots of the books Google is attempting to index are old books from before computers made indexing a lot easier. I've seen how indexing is done without a computer, and it made me wonder why anyone would choose to do such a thing.

  17. Re:Sizes - Memory, Download on Google Hiring Programmers to Work on OpenOffice · · Score: 1

    A big contributor to the size of Mozilla applications is the overhead of the cross-platform framework on which it is implemented. A lot of "glue" and framework code is needed to sit between the application code and the underlying system, which isn't true for a program targetting the Windows API directly. I imagine similar reasons apply for OpenOffice.

    If everyone was to agree on a cross-platform framework then it could be installed as a shared library between all apps, but unfortunately Mozilla and OpenOffice come from different worlds.

  18. Re:NTFS already does it since Win2K ! on Vista To Get Symlinks? · · Score: 3, Interesting

    Even more annoyingly, if you "delete" a junction point directory through the shell it will do a recursive delete just as it would for a folder, thus deleting all of the contents of the junction's target directory. If you set up the junction point then this is expected, but if it's someone else who isn't familiar with the concept they can easily mistake it for a bunch of duplicate files (since the shell displays them identically, and gives misleading disk usage information) and delete both copies.

  19. Re:ehhh.... on Commission Suggests UK Should End Astronaut Ban · · Score: 1

    If cyclists were riding on the pavement, there would have to be a speed limit. Objects moving at speeds where they can hurtle into a pedestrian before the pedestrian knows what's hit them (on a blind bend, for example) shouldn't be on the pavement (aka sidewalk).

    I don't see any reason why cyclists riding at slower speeds (which accounts for most casual cyclists, as far as I can tell) shouldn't be allowed to ride on the pavement, and in fact I think in my locality that's actually allowed. Cyclists doing 20-30mph on a road where the motor vehicles should also be doing such speeds are okay as well.

    Cyclists on A-roads that are under the national speed limit are more tricky, since they are going too slow for traffic but there is generally no pavement to ride on. I think the only answer is greater provision of cycle routes, whether it be a simple cycle lane at the side of the road or a completely separate cycle road, perhaps combined with a footpath as is often seen in towns.

    Cycle lanes and paths are expensive to add, though, so it's unlikely that we'll ever see them outside of towns unless the country gets a much better attitude to cycling.

  20. Love as a Hobby on Deciphering the Brain's Love Map · · Score: 3, Interesting

    Being in a relationship is like a hobby. Some people enjoy doing it, others not so much. What we call love for another person is really just love for the activities involved in maintaining a relationship with that person.

    If you don't enjoy all that stuff, then by all means find something else to do with your spare time. Each to his own.

  21. Re:Introductory sentence on Another Victim Countersues RIAA Under RICO Act · · Score: 1

    If I create a work and give it to 100 people, they've still got no right to copy that work. Since I own the copyright, I can copy the work and distribute it as I please. The recipients of the copies can give away their copies as long as they don't create any new ones. None of this requires any special licencing on my part.

    Licencing only comes into play when you wish to allow a third party to produce copies, and even then only when those copies are not already covered by fair use.

  22. Geek Retirement on Trouble With Open Source? · · Score: 1

    You make an interesting point on the subject of retirement. It's not going to be long now before early geeks start retiring. After the first few innovations the number of geeks grew tremendously. Even taking into account that some of these geeks may not have kept up their geekiness once they settled down and got a family, that'll still leave a lot of geeks with a lot of time on their hands. It'll be interesting to see what results from that 20 or 30 years from now.

  23. Re:When? on When Will E-Books Become Mainstream? · · Score: 1

    Earlier today I was working on some code and needed to refer to something. I turned around and pulled out my trusty O'Reilly Definitive Guide on the subject, found the right chapter and set it down on my desk. The book then proceeded to close since I was no longer holding it open. After spending a few seconds trying to type while simultaneously holding open the dead tree book I remembered that I had a copy of said book in HTML format on my hard disk here and opened that instead.

    Perhaps I'm unusual, but online books have already become very useful to me. I must admit that I didn't purchase the ebook I referred to, however: I got it from some site illegally a while back. I already owned the paper version of the book, though, so I don't feel to bad about it. I'm happy that O'Reilly makes the books available online, but not enough that I'd pay for them twice just to get the two formats. It's hard to say whether I'd buy the Safari copies exclusively in future; generally you can find what you're looking for online with little effort these days, making weighty tomes less useful than they once were.

  24. I Love Lua on Extending Games With Lua · · Score: 3, Informative

    I've embedded Lua into all sorts of things. Never really finished any of it, but I did embed Lua into the BUILD engine to replace the game code written in C. I've also been working on embedding it into Quake 3 Arena to do similarly, though unfortunately real life is getting in the way of doing much there. Lua is great because you can make what you want with it. It has no builtin functions, so it's completely up to the embedder what gets included. The bundled coroutine library is very useful in games, too. It doesn't even have an object model of its own, meaning that you are free to invent one based on the simple structures it provides.

    The adventure game Grim Fandango was based on Lua, as was the latest Monkey Island game. Lua gets everywhere. It's in text editors, web servers, games, your shell... you name it. It's probably somewhere on your computer right now, hidden inside some application.

  25. Re:PHP != Crap Code on Gallery 2.0 Released · · Score: 1

    I write well-structured (in my opinion, at least) PHP code a lot at work. These things are some of my main dislikes:

    • No namespaces. Once you get a few different third-party libraries loaded they start trampling over each other's class and function names. While you can name classes with a prefix (MyCrazyApp_Thing) it gets tedious to type the prefix constantly and other developers don't comply. Having standardized namespaces means that there can be the concept of a "default" namespace for the current scope and the ability to explicitly import symbols from another namespace into the current scope as appropriate.
    • No higher-order functions, reflection etc. While many people would argue that these are not necessary features, it seems pointless to have a dynamic scripting language without them. Someone obviously thought higher-order functions were worth implementing (see the create_function function) but not important enough to do right.
    • No variable declarations. PHP can be configured to warn if you use an undeclared variable, but I want a Perl-like strict mode which makes it into a compile-time error rather than a runtime error. This is complicated, of course, by the fact that PHP's symbol table is just one of its own associative arrays populated at runtime, and that there's no variable declaration syntax.

    There are a few more, but those are the main ones that frustrate me most days. Fortunately, my job doesn't entirely revolve around PHP. That's just one project.