Slashdot Mirror


User: Sam+Douglas

Sam+Douglas's activity in the archive.

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

Comments · 127

  1. Re:What? on Linus Calls Microsoft Hatred "a Disease" · · Score: 1

    I'm perfectly aware of this. The original AC post was probably being facetious and was not making reference to the historical reasons the communities formed -- the GNU and Linux communities did not form out of hated Microsoft, nor are they at all sustained by it. But both hating Microsoft from 'Linux supporters' and 'hating Linux' from 'BSD supporters' have become commonplace in more recent years, at least from vocal supporters of each in public forums like Slashdot.

    Both attitudes are unproductive and examples of petty tribalism and zealotry.

  2. Re:Assembler! on The Best First Language For a Young Programmer · · Score: 1

    Must people resort to attacking programming languages based on their syntax? (unless it is BASIC or COBOL, they are always fair game) As you say, Python is very easy to learn, whether you are an experienced programmer or beginner. I fail to see how its syntax is Basic-like. Seriously. Back that one up with evidence next time you use it. Python's syntax is 'unique' ... using indentation to indicate blocks can be problematic in some cases, but it is manageable. I worked on a medium sized program in Python (the first time I had used the language), it was surprisingly pleasant.

  3. Re:Pascal on The Best First Language For a Young Programmer · · Score: 1

    Yeah. The Java collection framework is simple and easy to learn and use without a reference manual or IDE to help you along and doesn't rely on overloading the meaning of operators in the language to emulate another style of programming. Gag.

  4. Re:Pascal on The Best First Language For a Young Programmer · · Score: 1

    Threads aren't bad if you are willing to learn to tame them. They don't automatically make things faster. They are more difficult to program with. They are very much worth learning to use effectively, but in good time. I agree, beginners should stay away. More experienced programmers should probably -use them more often-, to dispell the illusion that they magically make programs faster. They can be very rewarding and fun to use correctly though, or a nightmare and only solid experience will allow you to predict those cases.

  5. Re:What? on Linus Calls Microsoft Hatred "a Disease" · · Score: 1

    You missed the point.

  6. Re:mistakes on Negroponte Sees Sugar As OLPC's Biggest Mistake · · Score: 2, Informative

    If you 'pull the cover off' a lot of the boot process is just generic Fedora stuff. It doesn't help the computer is underpowered (they are fucking slow actually!) but a lightweight operating system would be the way to go. Fedora really was a bad choice. It doesn't help that under Sugar is running half of a Gnome system anyway.

    I really like the XO hardware, the design is nice (people who complain about the toyish look should actually use one -- the keyboard is their flaw not the colour scheme). I would be happy using one for day to day computing with a better operating system installed. The screen is a real pleasure to use (transmissive colour, reflective monochrome ... in daylight the picture is extremely sharp). I would choose an XO in preference to current model netbooks any day.

    The software is still a big let down. Sugar (the interface) is slow, a bit awkward to use and understand how to program for. Being able to only run one windowed application at a time is annoying for an experienced user, but if it wasn't for performance problems it really isn't unusable.

    Additionally: multiplayer pong tablet ... the software is built into the firmware. Much better than Sugar.

  7. Re:OOh on Windows 7 Clean Install Only In Europe · · Score: 1

    Haha. I thought I was safe and then I installed an old version of Windows 2000 somewhat recently. Setup smilingly told me it was partitioning C: as a 100GB partition, while formatting/clobbering the entire disk. The partition table it actually wrote out made no sense what so ever (partitions intersected, etc.). Lesson: back up your data. Bugs happen.

  8. Re:Good on Mono Outpaces Java In Linux Desktop Development · · Score: 1

    In addition to this, complicating the language makes it harder to implement portably -- a higher chance that implementations will be subtly different. Keeping the core language simple is a good thing if you want your language to be portable and implemented by others.

  9. Re:Good on Mono Outpaces Java In Linux Desktop Development · · Score: 1

    Bingo. Unlike languages where the 'powerful features' are a consequence of the semantics, C# designers apparently feel the need to keep adding more and more constructs to allow non-object oriented programming techniques to be used.

    An example of this I think is C#'s handling of events (they are specified as a language feature, or at least treated like one). In order to allow you to call an anonymous method without typing problems (to allow event handlers to be added to an event) the concept of delegates was necessary in the language. Java has neither, instead it is all implemented within the existing object-oriented semantics of the language. There is the concept of listeners which are added to objects that call known methods in the listeners when an event occurs.

    This might require a little more code, but anonymous classes (i.e. extend a class/interface, specify methods 'in line' -- like lambda functions but for objects), but is much more flexible and allows the concept to be reused in situations it was not originally designed for -- by making a listener a remote object in an RMI application you can have distributed events.

  10. Re:Good on Mono Outpaces Java In Linux Desktop Development · · Score: 1

    It is arguable whether piling features and syntactic sugar into a language leads to a better language.

    C#'s generics implementation is superior to Java's, but there really wasn't a better way for Java to provide decent binary and API compatibility with the decade worth of code written before generic types were introduced in version 1.5. Implementing generics through type erasure addresses most common use cases. There are ugly cases specifically with arrays. Essential Java has a good explanation of the rationale behind the generics implementation in Java (the chapter is available as a free sample). It's not an ideal implementation, but calling them bad shows a failure to appreciate the design constraints they were under.

    Operator overloading makes languages ugly. See C++. The string special case in Java is a little arbitrary, but operator overloading complicates programs far more often than it simplifies them, and in my view (and apparently a view shared by the Java designers) the relatively small number of cases where they can drastically improve readability outweigh the complexity cost of providing them. Additionally it is all too easy to use them in a way that is not consistent with the semantics of the original operators. Vectors, matrices, strings (concatenation) and advanced numeric types can benefit from operator overloading, I struggle to think of other situations where it wouldn't just be misleading.

    Value types: this is a powerful niche feature, which is handy for types that you would rather think of as values, for example vectors and matrices. This allows a program to more closely mimic common mathematical expressions of the concepts, which is nice. Unfortunately they are FUCKING UGLY, and arguably encourage non-object-oriented. As a side rant, at the University I attend the introductory programming course taught structs in preference to classes. I couldn't fucking believe this (I was a sessional assistant for the paper. I'm pretty sure this happened because the course merged with a VB course and the coordinator had previous exercises that used VB6-style Types). I got very tired of being asked why this code:

    aList[3].name = "Bert";

    Gave a compiler error along the lines of "Cannot assign to method return value" when the list contained structs. Stupid cases like this pretty much reinforce my belief that user defined value types have no real place in an object oriented language. They look harmless but they complicate the semantics a lot.

    A lot of the other features you list bring C# closer to a functional programming language. I think it is a good thing that people are exposed to ideas of functional programming, but simplicity is also important. Functional programming languages use the function as their primary abstraction -- object oriented languages use the object as their primary abstraction. Many functional languages have very concise semantics which give rise to expressive techniques, for example Scheme -- which was designed as a minimal language with concise syntax and semantics, but gave rise to very expressive programs. Likewise a language that is designed as purely object oriented can have quite clean syntax and semantics. Merging the two is messy.

    It should be noted that Java's support for anonymous classes is the object-oriented equivalent of lambda functions, which allows for similarly expressive programs, without breaking into a different programming paradigm.

    Reference/Output parameters. A horrible hold-over from C style programming. Normally if you need to return multiple results, or modify input parameters defining a private/package-local class is a nicer way to go. If you really need reference parameters, they can be approximated in Java with something like this:

    class Ref { public T value; public Ref(T value) { this.value = value; } }

    The lack of unsigned types isnt't a huge deal for most programs, it can get slightly annoying if you are writing low level programs (signed bytes are

  11. Re:Seems pretty clear to me on Concrete Comparisons of Theora Vs. Mpeg-4 · · Score: 1

    FLStudio 8 (a digital audio 'workstation' program) uses Vorbis, I noted, for its sample files. It installs a Vorbis codec but very weirdly stores the Vorbis audio stream inside a Wave container. A peculiar choice.

  12. Freeware?? on Open Source FPS Game Alien Arena 2009 Released · · Score: 1

    Come on, can we get our terminology straight. Is it freeware or free software (open source)? There is a big fucking difference. In my view so many of these 'free' games have shot themselves in the foot by licensing the engine under a free software license (i.e. GPL) but not also licensing the game artwork under a similarly free license. Tremulous is an example of this, as is Warsow (perhaps they have fixed this by now). If you choose to be loose with your licensing, you will find it quite hard to get included in most GNU/Linux distributions' official, (free software) repositories. You are costing yourself potential users, many of which are short on choice when it comes to easily accessible games, thus are likely to increase the user community, and possibly introduce others to the game who would otherwise not know about it.

  13. Re:Continuity is the winning strategy. on Does the Linux Desktop Innovate Too Much? · · Score: 1

    One thing that Microsoft has done well is to maintain continuity with the past. The desktop of Windows 95 is still available on all consumer versions of Windows up to Windows 7. In Windows 7, you can select the "classic" appearance for the desktop to get the Windows-95 look and feel.

    Not quite right. In Windows 7 'classic' mode is a joke. It doesn't change the taskbar back to behaving like Windows 2000, and as far as I can tell there is no way to go back to a pre-Vista style start menu (if there is a way, it isn't apparent to me). All it does is give semi-Windows 2000 looking window decoration and colouring, makes the panel look fucking chunky and actually -reduces- the usability of the system (in contrast to previous versions, in my opinion).

    On the topic of Windows 7's taskbar, I am not sure if it represents an actual improvement in usability (I've been a full time Gnome user for a long time, but needed to use Windows and decided to try Windows 7 RC) over earlier versions of Windows. The way it combines windows from a single application into one button is better than the taskbar grouping in Windows XP (ugh), but is still a little slow to use, especially for power users. It also causes problems for programs that have a permanent icon on your taskbar (such as a web browser): normally the purpose of these buttons is to give you a quick way to launch commonly used applications; but if there is already an instance running then you just end up focussing it instead; you have to use the context menu to start a new copy. This is particularly annoying with Firefox if you only have the downloads window open and you want to do some web browsing, clicking on it just brings up this useless little window. This is something that Firefox could work around, but it also represents a flaw in the taskbar design, I feel.

    There is no classic mode per se, you can set the icons to be smaller and turn off grouping (which shows text like normal taskbar buttons), but this still has the annoying, new behaviour of grouping windows from the same application together (i.e. all the firefox buttons are adjacent). New windows will appear and pop up in the middle of the task bar, rather than at the end and while you can move entire groups around, you cannot move individual window buttons. Almost everyone I have discussed this with hates it. I prefer the flawed stacked buttons to that behaviour.

    Is it really just free software that has a problem with trying to innovate too much? Windows 7 seems to have similar problems. On one hand it's like a much better Windows Vista, but at the same time has a lot of 'new features' that strike me as having little actual benefit; change for change sake. Like the taskbar (which will actually piss off a lot of people... hopefully it sees a bit more love before the final release), like the new window management features: drag a window to the top edge of the screen to maximise it, or to the sides to make it take up half the screen, or shake the window to cause all the other windows to minimise. None of the window management features strike me as being useful at all. Perhaps the Windows developers should have looked to the Unix desktops for actually useful features to implement: edge snapping, hotkeys to move and resize (hold alt and left-drag a window (anywhere on it) to move it -- it's a godsend), virtual workspaces (even MacOS has those...), visually highlighting which window is selected -immediately- when alt-tabbing between windows (Metacity does this by drawing a black border around the shape of the window). All these things are minor, but fucking wonderful to have and it is sad that with all the developer time that has gone into changing Windows 7, things like this haven't been addressed.

  14. Re:Safari on Firefox 3 Performance Gets a Boost · · Score: 3, Interesting

    http://blog.pavlov.net/2007/11/10/memory-fragmentation/ provides information about this issue. Supposedly a lot of the memory eating issues people bitch about are caused by heap fragmentation -- memory pages that get allocated to Firefox, then some of the data freed, but not all of the page.

  15. Re:Safari on Firefox 3 Performance Gets a Boost · · Score: 3, Informative

    That is not correct, maybe you are thinking of Thread Local Storage. All threads share the same address space and memory allocations (memory management techniques used inside the application aside). Perhaps this page (found with a quick Google search) should clear up the confusion: http://virtualthreads.blogspot.com/2006/02/understanding-memory-usage-on-linux.html

    It is more a matter that tools such as ps report the VSZ (Virtual Set size) and RSS (Resident Set Size) -- basically this is the amount of memory mapped in the virtual address space, and the size of the physical memory pages currently assigned to the process (this can grow or shrink with the operating system's page replacement -- moving pages into swap).

    The memory in the virtual address space is not necessarily 'memory' that was allocated by the program for storage: memory-mapped file access, shared libraries and shared memory all counts into this address space, and this memory is managed by the operating system kernel or application. For mmap files, you can access a file like an array in memory and the operating system will deal with loading and saving the appropriate pages of data.

  16. Feasibility on U of MI Produces Strongest Laser Ever · · Score: 1

    Now we just need to work on the minor technical details of getting enough power in a mobile form that can be attached to Elasmobranchii to power the laser.

  17. XML Parsers and such on W3C Gets Excessive DTD Traffic · · Score: 1

    I remember from a University project a year or so ago, we had some weird issues where our model loading code would hang when run on systems that didn't have a direct internet gateway available... turned out the .NET XML parser library was trying to fetch and validate the X3D schema for every model it loaded, downloading it each time. These are the kind of defaults that cause issues, if it weren't for the web proxy issue we would have probably never realised it was doing that!

  18. Re:Um. on Is Linus Torvalds Speaking for Linux Anymore? · · Score: 1

    There is no reason to implement it as part of the kernel. The Direct Rendering Infrastructure present in Linux and BSD kernels allow efficient access to the graphics card hardware from privileged userspace applications.

  19. Re:MOD PARENT UP on Time-Warner Considers Per-Gigabyte Service Fee, After iTunes · · Score: 1

    As someone use DOES use bucketloads of bandwidth from time to time, I can say that I wouldn't completely mind being billed-by-the-byte providing: a) There was no quota ceiling (I should be allowed to buy as much bandwidth as I want/need) and b) The base rate was cometitive enough that, if I used minimal banwidth, services like Dialup and DSL would be viable alternatives. Urgh, yeah. Being charged by usage. Here in New Zealand, the current ADSL plan we are on has a 15GB cap and we get charged 2c per MB over that. We pay about $70 per month for the privilege. This period we have gone 6GB over our cap, so Telecom will be billing us at least another $120. It actually annoys me reading these stories about "how badly" Americans have it for Internet.
  20. Re:Has anyone even bothered to read the patent? on TiVO Patent Upheld, Dish May Have to Disable DVR · · Score: 1


    1. Don't use an MPEG standard. Use an ITU standard (e.g some iteration of H.263), or other;
    2. Do not seperate the audio and video stream when reading from the device; and /or
    3. Do not put the output into a "TV" output. (are HDMI, DVI, VGA considered "TV output"?)

    The most obvious way around is to avoid the use of MPEG. Obviously this screws current hardware that has MPEG hardware encoders and decoders though. Dish are big enough to have something made using a different standard, and there is plenty of hardware out there that uses non MPEG streams. Where I work we have a system that does almost what a tivo does, but it uses a modified H.263. Some quick research on this shows that Dish currently broadcast their digital TV service in MPEG-2 and MPEG-4. H.264 is an ITU standard and is part of MPEG-4. Transcoding sounds like a waste of time and processing power when you receive the broadcast already compressed in an MPEG transport stream.
  21. Re:Moving forward, sure... on Author of ATSC Capture and Edit Tool Tries to Revoke GPL · · Score: 1

    Sadly no, I was flicking through them after seeing this article, but I didn't take any specific references. Most of that was from a talk I attended some time ago on copyrights/patents targeted at software developers, which would have been specifically for New Zealand law. They are a pretty boring read. I recall something towards the start of the USCL suggested that was the case, and the section on termination of a copyright seemed to really only be death of the copyright owner -- didn't seem to say that the copyright owner was granted the right to terminate the copyright license at a later date.
    Late night rambling, yeah.

  22. The possibilities on New Robot Can Help You Find Your Way · · Score: 2, Funny

    Sir, you look concerned about the size of your phallus. With VPXL+ you'll watch with amazement as your pen!s grows into the powerful, thickest, hardest, and most biggest tool you`ve ever imagined - the one you`ve always fantasized about having! No pen!s en`l@rgement system is faster, easier to use, or more effective than VPXL+ - GUARANTEED!
    Bring on the spam delivering robots! They pronounce the obfuscation punctuation too.

  23. Re:Moving forward, sure... on Author of ATSC Capture and Edit Tool Tries to Revoke GPL · · Score: 1

    If my understanding is correct, the copyright holder cannot modify the licenses on previously published versions of a work under most (all?) copyright laws. Each new version/modification/derivative work that is published is technically a different published work.

    At least, that is what I have picked up from skimming over the US Copyright law, Berne convention and from talking to lawyers.

    Nothing about this is specific to the GPL, except that it doesn't say that the copyright holder reserves the right to terminate the license at any time.

  24. Re:@_@ on Followup On Java As "Damaging" To Students · · Score: 3, Insightful

    Personally, I would go for a language with an interactive REPL environment, preferably one that allows/encourages functional style (Scheme, Python, Lua, etc.) to learn the concepts of computer programming. Not many programming languages can teach you that faster than a good Lisp dialect. C would be a distant second.

  25. Re:Stepping Through on Tools For Understanding Code? · · Score: 1

    Whilst it may not be completely comparable to Visual Studio's debugger, Emacs 22 has a pretty decent GDB mode which provides at least a subset of those features.