Forgot your password?
typodupeerror

Comment: Re:Great, now I just need 6 cablecards (Score 2) 178

by edwdig (#44038757) Attached to: TiVo Series 5 Coming This Fall

When I dealt with mine for my dual tuner Tivo HD a few years ago, they brought a multi-stream capable card with no issues. I got the impression that's standard now.

On the bright side, shortly after that the FCC ruled that cable companies have to let you install the cable card yourself if you want to, and I believe they're not allowed to charge a fee for that either.

Comment: Re:I don't like boost (Score 1) 333

by edwdig (#43185167) Attached to: Comparing the C++ Standard and Boost

k) Add a proper exponent operator

Won't and Can't do this efficiently. Not all CPUs have an intrinsic way to do exponention. This is specifically why it's a library function so it is obvious that it is potentially a non-trivial operation. Once again, not everyone uses an Intel CPU.

q) Add a proper rotate-left and rotate-right bit shifts

See the answer to exponent operations. Simply put, not all CPUs have this. I would however welcome a standard library function for this like pow for exponents. Which the compiler could inline to a single instruction if the CPU supports it.

I agree with most of your points, but I can't really agree with your logic on these. Hardware floating point support wasn't common until the 486 days. A lot of lower end CPUs used to omit support for division. That didn't stop C/C++ from including support for those features.

I think the reason for omission is simply that the operators are nothing more than syntactic sugar. Anyone that needs those operations can write them quickly without putting much thought into it. They were probably left out originally to keep things simple in the early days of C. Now the standard committee seems very hesitant to make changes to the syntax of language, so they probably just look at these things as nice to have but not worth changing syntax over.

Comment: Re:will they kill the patch/reboot/patch/reboot cy (Score 1) 199

by edwdig (#42959129) Attached to: Report: Windows Blue Reaches Its First Milestone Build

If a shared library is already loaded why would the system not reuse the reference to that library it already has loaded rather than attempting to ask the current file system view for to establish a separate reference?

Because that's how it's always worked in UNIX ? Some people think it's a good thing, and that's why this update in place stuff works.

If two programs running in separate memory spaces experience these kinds of side effects while communicating with each other this is a protocol design issue. Remember it is entirely possible to have local versions of shared system/runtime libraries that differ between application because of locally installed DLLs or DLLs within search path.

Ideally, sure. But I specifically mentioned bug fix cases. Stuff happens, things go wrong. You do have to deal with it.

The issue gets worse if on-disk data is involved. You've now got data files potentially being updated by different versions of a library, potentially leading to data corruption or loss.

Who writes an on disk format that changes between versions without properly versioning the file? Garbage In = Garbage Out.

Changing code that's in use = garbage in. I'm not talking things like a document file that's written once and closed, I'm talking files continually accessed by multiple processes.

For a specific example of this happening, back in the days when libc had major changes frequently (think libc5 -> glibc/libc6 days), it was pretty common to do a system update and end up with problems with utmp and wtmp caused by two versions of libc being in use. You'd get garbage output when you ran commands like "who". The problems went away when you rebooted to get rid of everything using the old libc.

Comment: Re:will they kill the patch/reboot/patch/reboot cy (Score 1) 199

by edwdig (#42956649) Attached to: Report: Windows Blue Reaches Its First Milestone Build

It is OK on Unix because that replaced library still exists in memory and can continue to be used by the programs ... running in memory!

Each new invocation of the programs that try to use that library will of course pick up the new version. It's not magic. I don't get why people can't grasp this.

But that's exactly why there is a problem!

Library version numbers generally change when the API changes. If a new version of the library is source compatible with the old one, the version generally stays the same. However, that doesn't mean the internal workings are compatible.

Let's say you've got a library that handles communication between applications. You've got Foo running with library version 1.2.3. The developers discovered a bug in the library's internal data transfer protocol. The bug is an implementation detail, not an application visible one, so they simply fix it and release version 1.2.4. It's 100% API compatible - taking advantage of the fix just requires updating the library. You update the library in place, with Foo still running using version 1.2.3. You start up Bar, which now loads library version 1.2.4. When the two apps try to interact, you're now going to get bugs or even crashes when they interact. They believe they're using the same library, but they're not. You've now run into a class of bugs that only exists because you updated a library that was already in use.

The issue gets worse if on-disk data is involved. You've now got data files potentially being updated by different versions of a library, potentially leading to data corruption or loss.

Comment: Re:Why? (Score 2) 113

by edwdig (#42887593) Attached to: Intel Supports OpenGL ES 3.0 On Linux Before Windows

Triangle strips require everything in one draw call to be connected. If you want to draw N quads, you have to make N draw calls, passing 4 vertices each time. There's a significant amount of overhead involved in a draw calls, so this is slow. With quad support, to draw N quads you can just make a big array of 4N vertices and process it all in one draw call.

Comment: Re:Why? (Score 3, Informative) 113

by edwdig (#42886821) Attached to: Intel Supports OpenGL ES 3.0 On Linux Before Windows

I went from OpenGL 1.x over to OpenGL ES, so I don't know most of what modern OpenGL can do. But one glaring weakness is that OpenGL ES doesn't support drawing quads, only triangles. Yeah, the GPU processes a quad as two triangles internally, but if it supports quads, there's less vertex data to generate and pass to the GPU. You can somewhat make up for it by using glDrawArrays, which uses array indexing into the vertex list, but in a lot of cases (especially for 2D scenes), it's still less efficient than if you had quads.

Comment: Re:And this is why (Score 2) 946

by edwdig (#41623045) Attached to: Alan Cox to NVIDIA: You Can't Use DMA-BUF

Without the GPL, they would have just used the existing implementation.

With the GPL, they're going to have to recreate the functionality themselves. Their implementation will probably be closed source. They might consider contributing it to the kernel with more permissive licensing terms, but considering how Alan Cox reacted to their request, I doubt it would be received well. Now we'll have duplicate, incompatible functionality being maintained by the kernel devs and NVIDIA. Either that, or NVIDIA will simply do without the feature and release inferior drivers.

Comment: Re:Here's a thought (Score 2) 211

by edwdig (#40953957) Attached to: Microsoft Picks Another Web Standards Fight

The US picked NTSC when Pal was clearly the superior standard.

PAL is higher resolution. NTSC has a higher framerate. They each have some other minor differences. Which one is better depends on your personal preferences.

VHS won out even though Beta was better.

Beta had better picture quality, but suffered from short recording times. The longer recording times mattered more to people. VHS also had better licensing terms, which helped the people making the hardware and pre-recorded videos. VHS was better for most people.

Some felt HD was better than Blu-ray,

Blu-Ray was designed to be the best format possible at the time. This meant new manufacturing factories were required to make them. HD-DVD was designed to be a "good enough" format. It's big selling point was that the discs could be made at existing DVD factories with only relatively minor changes to the equipment. The software end of the specifications each have their pros and cons, but were similar enough that few people had strong feelings about it. Ultimately Blu-Ray won because Sony was committed to building out the manufacturing plants. Once they built sufficient plants, there was little reason to use HD-DVD.

At the time it came out Firewire then firewire 800 were clearly superior standards.

Firewire was great if you were using it for high end equipment that needed high speed data transfers. It was great for things like digital video cameras and external hard drives. It fairly expensive though, and much less flexible than USB. USB won out because it offered enough speed for most devices, was extremely cheap to include in a device, and allowed easy chaining of a lot of devices. For the average computer user, USB was a lot better. While Firewire was still faster than USB 2.0, it wasn't a significant enough difference to matter for many people.

Comment: Re:Poor Analogy (Score 4, Informative) 276

by edwdig (#40893635) Attached to: What Happens To Your Used Games?

NES games are still playable. The problem is the NES itself - the connector the cartridge slides into gets bent out of shape. It's easy to open the system up and swap the connector. The new part only costs a few dollars.

Blowing on the cartridges never actually did anything to make them work. What did help was simply taking the cartridge out and putting it back in. It would sit differently, and eventually it would sit well enough to make a solid connection with the bent connector.

Comment: Re:Meanwhile.. (Score 1) 610

by edwdig (#40610449) Attached to: Steve Ballmer: We Won't Be Out-Innovated By Apple Anymore

Tivo has an iOS app. It allows you to do exactly what you want. Control the Tivo, browse TV listings, etc. It sucks to use as a remote as you have to look at it to make sure you're hitting the right button. It's also slower, as you can't just slide your finger around on the screen to get to the next button. With a regular remote, you usually quickly learn your way around it by feel and can use the common buttons easily without looking.

The listings don't work well on an iPhone - the screen is just too small. The guide on the TV screen works much better. It's easier to read and you can fit a lot more information on screen at once.

I haven't tried it on an iPad yet. I'm guessing the listings would be better, but the remote controls would probably be even slower to use with the larger screen.

Comment: Re:Geoworks (Score 1) 361

by edwdig (#39553589) Attached to: GNU/Linux Running On An 8-Bit Processor

"better automatic widget layout" - this made my day. I remember using GEOS as a boy, on a C64. It was a lot of fun going from text menus to an actual mouse-relevant UI, but sophisticated it was NOT. Automatic widget layout? There were 8 icons per window and if you didn't like where they were you could (a)bort, (r)etry, (i)gnore.

He was talking about the PC version of GEOS. You're talking about the C64 version. The only similarities between the two products are the name and some members of the development teams.

The PC version had a really sophisticated UI for the time. It was all multi-threaded with automatic control layout similar to how modern UI toolkits work. I found it a pleasure to code for. 15 years ago I was creating UIs much faster than I am today with modern tools.

Comment: Re:Smartphone Controls Suck (Score 1) 138

by edwdig (#37115700) Attached to: 3DS and Vita Face Tough Battle Against Smartphones

So I don't need an invitation from an established member?

Missed that one... no, you don't need invitations on LinkedIn - at least not that I've ever seen. To cut spam, a lot of groups require approval to join. I think that simply means that a group admin looks at your LinkedIn profile and approves you as long as what you say in your profile looks somewhat relevant to the group. For most groups you'll get approved within a day or two.

In any formula, constants (especially those obtained from handbooks) are to be treated as variables.

Working...