I've been running this patch since the early -ac days on a machine that doubles as a development desktop and a medium-load server and I've had absolutely no problems. I don't have any numbers but X/Gnome seems much more responsive even when other procs are busy. I see no reason why this isn't in the main tree, especially since it's a kbuild-time option.
now, more than ever, it's important to open up your outgoing bandwidth when you're not actively using your machine and share the love. i recommend downloading a gnutella client too and share your files over both networks. the only thing that can keep this technology alive is selfless participation...
i'm thinking that the best way to win this thing is to use a distributed algorithm running on a large number of machines somewhat like SETI. obvisouly with the time/bandwidth constraints you'd have to have some efficient way of sending out the move information to your network. maybe you could have a tree-like structure with super-nodes having high-bandwidth connections farming out information to subordinates. maybe the brute-force aproach wouldn't work so well against a 'smarter' single-machine solution, due to the exponential nature of the search domain, but i still think it would be cool to see such an entry in a competition like this.
Re:I've seen the future, and it is Doom. Good doom
on
3D Desktops for Linux?
·
· Score: 3, Interesting
great quote:
after I took the screenshot of myself being attacked by csh, csh was shot by friendly fire from behind, possibly by tcsh or xv, and my session was abruptly terminated.
Re:Marooned in Realtime
on
True Names
·
· Score: 2
i'd have to agree, i just finished the book (out on millennium in the uk) called 'across realtime' and i loved it. it's basically two books: 'the peace war' (pre) and 'marooned in realtime' (post). If you haven't read the peace war, i'd recommend picking it up.
The problem of.net is that it does not deal of the wide platform spectrum that Java already have : cf. JavaCard, J2ME, J2SE, J2SE,
It's true:.NET doesn't support these technologies (or equivalents) natively, but unlike java which has no native platform,.NET runs on Windows which does support these and does expose them in ways that are usable from.NET applications (through COM interop, PInvoke, etc...)
MS already done a standard process to ECMA for C# and the core IL, but *forget* to standardize the APIs;)
Actually the ECMA spec includes the core APIs, too (pretty much the Java 1.1 spec without the applet/AWT stuff).
HAving trashcan'ed all their legacy technologies (DNA, MTS, DCOM?, VB...) they've tried to force user migration to complete new platform.
Nope, all these are supported too. I expect Windows will be shipping with support for them for some time.
I think your first point was right on the money, there's not much difference between Java and.NET, except maybe that.NET doesn't come bundled with a multi-million dollar lawsuit from Sun.
I expect they'll start by doing a '.NET OS' running only CLR code and implementing the low-level (file/graphics/etc) APIs natively. Similar idea to Sun's JavaOS, running on embedded systems/handhelds. The benifits of this are obvious: small code side, greater code sharing, smaller working set. In restricted environments like these there less incentive to require support for legacy code since most of it is OEM anyway. I wouldn't be surprised to see pocket versions of Word.NET, Internet Explorer.NET, etc... Hell, I bet most of the developers would be glad to get rid of all that old legacy win32 code and replace it with something built on a nice class library.
I think Microsoft just has the benifit of hindsight here. They saw that people were interested in using the JVM for other languages and they've been working on providing cross-language tools for some time (Visual Basic switched to using the Visual C++ backend compiler for native EXE generation a while back, there was the 'Cool' project - interpreted C++, and having Java and VB running on the same machine was on the cards for a while).
Check out this month's.NET show. Jim Miller, one of the designers of the CLR, talks about this in some detail.
Microsoft did not get where it is today by ignoring consumer interests. Sure, they don't pander to everyone's interests, just to the majority. They're not interested in niche markets.
the executable (PE) is tied to the hardware, yes, but it's reasonably easy to write portable win32 code. as far as i remember the most important thing for the risc machines is to ensure that your DWORDs are DWORD-aligned (to prevent software alignment exceptions). You can also write code that'll compile on both 32-bit and 64-bit architectures, although you have to be careful with your pointer types.
The funny thing is that Microsoft has already patented exactly this
Re:Damn Macs and their excellent video support!
on
New iMac Announced
·
· Score: 2
actually original Macintosh monitors, via a proprietary connector, would report their resolution to the video card at boot time to ensure a 72dpi display for all screen sizes. It wasn't until recently that resolution-switching became part of the UI.
If only source were available so I could add keyboard switching between sheets!
If only documentation was used. I typed 'keyboard shortcuts' into Excel's help search pane, and it took me straight to a page that told me that CTRL+Page Up/Down is what you're looking for.
Please excuse my ignorange, but I'm not sure what a QCanvasPixmapArray is. If it's an abstract datatype then I'd brobably use 'pqcpaExample, or if it's a (QCanvasPixmap *), then: 'rgqcpExample'. Generally such tricks don't cause any ambiguity especially given the context of the function or class that contains the code. I find that once you introduce such a mnemonic it's easy to spot its use in related code.
Sometimes if an OS header defines a struct 'SOME_OS_DATA_STRUCT', then I'll write code like:
I know it's lazy, and if I need more than one sods then I'll give them meaningful names like 'sodsThis' and 'sodsThat', but for a one-off it's not really necessary.
Mostly I do stuff like:
int cThings = CountThings ();
for (int iThing = 0; iThing < cThings; ++iThing)
{
CThing *pThing = rgThings [iThing];
I use STL alot too so I use alot of 'mapThings' and 'iterThing' and with ATL's CComPtr I use 'spThing' for smart-pointer. I don't adhere to the strict Simonyi notation - just enough to get by.
It helps me a great deal. Some people turn their noses up at it - I did too at first - but I recon it's worth a try.
prgrgpszDictionaryBase - a pointer to a two dimensional array of pointers to null-terminated strings
Funny, when I read the 'prgrgpszDictionaryBase' part in my head i heard: 'a pointer to a two dimensional array of pointers to null-terminated strings'. Then I read your description and it seemed somehow redundant. I guess that's the point right there.
I use hungarian exclusively and I find that it helps tremendously for both writing code and debugging. I learnt it on the job and while it was a little confusing at first it's pretty easy to get used to if you use it continuously. The main advantage, of course is that you instantly know the type of a variable without having to look for the definition. This is invaluable for pointer arithmetic and saves a great deal of time going through compiler warnings.
For example, the variable 'ppch' is a pointer to a pointer to a char (char **). 'p's and '*'s cancel each other so you know that the expression '(*ppch)' is a pointer to a char (char *) and '(**ppch)' is a char.
I also prefix member variables with 'm_' so there's never ambiguity between locals and members in member functions.
Usually the first thing I type is 'int main (int cArgs, char *rgszArgs [])'
Of course, it's not needed for strongly typed languages like C++/Java, but I still use it because it saves me time. I've heard some people complain that it adds too much time in typing - learn to type faster...
hang on, how can it be that on one hand we have Microsoft, a company with far more competition in its marketplace than local phone companies which gets a multibillion dollar monopoly suit brought against it (by the largest monopoly in the world, i might add) mainly because its competitors get pissed off and fill the back pockets of corrupt politicians with 'lobby' money (whatever the fuck that's supposed to mean) and on the other hand we have these shitheads who, through the abuse of their monopolies on high-bandiwdth internet service are charging increasing rates for reduced services.
what's wrong with this picture?
higher prices and customer harm are signs of a real monopoly...
Sure, but browsers don't use this mechanism to determin file type in the absence of a mime-type header. They all use a mapping from extensions to applications. Mozilla's is in the option dialog (I'm not sure where it's persisted), and IE's is in the registry.
(BTW: the checked build of NT/W2K contains much more than just the debug symbols, the code itself, including the memory manager's heap allocator contains many more runtime checks (ASSERTs) - for example the arguments to Win32 APIs are much more vigorously checked... it's a hog. one useful thing you can do is force every memory allocation to reserve it's own commited page with the subsequent (guard) virtual page always being uncommitted, the pointer returned can be pushed right up to the end of the page so any buffer over(read|write)s will immediately cause address-exceptions in the guard page - very handy for those cases when the usual 'heap-check-on-free()' doesn't help because your app is heavily multithreaded and the order of your allocations isn't deterministic, but i digress...)
i agree, in the books he 'morphed' over quite a long period of time although the initial sandtrout(?) experience was pretty quick. i suspect they'll be relying heavily on makeup/prosthetics to make the transform to Shai-Hulud realistic. Either that or they'll compress the whole thing into some crappy 'cut-scene' type segway.
And now the prophecy. One will come. The voice from the outer world bringing the holy war: Jihad! Which will cleanse the universe and bring us out of darkness.
a quick nice -n -5 /usr/bin/X11/X helps, too.
over 3 networks (morpheus, gnutella, audiogalaxy), and on a T1... man, what a leech i am. (Hi Hilary.)
yeah, either that or I'm currently sharing over 100Gb of files. take your pick.
now, more than ever, it's important to open up your outgoing bandwidth when you're not actively using your machine and share the love. i recommend downloading a gnutella client too and share your files over both networks. the only thing that can keep this technology alive is selfless participation...
i'm thinking that the best way to win this thing is to use a distributed algorithm running on a large number of machines somewhat like SETI. obvisouly with the time/bandwidth constraints you'd have to have some efficient way of sending out the move information to your network. maybe you could have a tree-like structure with super-nodes having high-bandwidth connections farming out information to subordinates. maybe the brute-force aproach wouldn't work so well against a 'smarter' single-machine solution, due to the exponential nature of the search domain, but i still think it would be cool to see such an entry in a competition like this.
i'd have to agree, i just finished the book (out on millennium in the uk) called 'across realtime' and i loved it. it's basically two books: 'the peace war' (pre) and 'marooned in realtime' (post). If you haven't read the peace war, i'd recommend picking it up.
I think your first point was right on the money, there's not much difference between Java and .NET, except maybe that .NET doesn't come bundled with a multi-million dollar lawsuit from Sun.
I expect they'll start by doing a '.NET OS' running only CLR code and implementing the low-level (file/graphics/etc) APIs natively. Similar idea to Sun's JavaOS, running on embedded systems/handhelds. The benifits of this are obvious: small code side, greater code sharing, smaller working set. In restricted environments like these there less incentive to require support for legacy code since most of it is OEM anyway. I wouldn't be surprised to see pocket versions of Word.NET, Internet Explorer.NET, etc... Hell, I bet most of the developers would be glad to get rid of all that old legacy win32 code and replace it with something built on a nice class library.
Check out this month's .NET show. Jim Miller, one of the designers of the CLR, talks about this in some detail.
Microsoft did not get where it is today by ignoring consumer interests. Sure, they don't pander to everyone's interests, just to the majority. They're not interested in niche markets.
the executable (PE) is tied to the hardware, yes, but it's reasonably easy to write portable win32 code. as far as i remember the most important thing for the risc machines is to ensure that your DWORDs are DWORD-aligned (to prevent software alignment exceptions). You can also write code that'll compile on both 32-bit and 64-bit architectures, although you have to be careful with your pointer types.
The funny thing is that Microsoft has already patented exactly this
actually original Macintosh monitors, via a proprietary connector, would report their resolution to the video card at boot time to ensure a 72dpi display for all screen sizes. It wasn't until recently that resolution-switching became part of the UI.
landlines are not good options on the moon. ever noticed that it's covered in craters?
i have to agree with this guy.
too often we see people complaining about rejected posts after the same subject matter has been brought up by someone else later on.
I'm not grinding my axe here but I've reported a few stories that have been rejected, only to appear much later.
Sometimes if an OS header defines a struct 'SOME_OS_DATA_STRUCT', then I'll write code like:
I know it's lazy, and if I need more than one sods then I'll give them meaningful names like 'sodsThis' and 'sodsThat', but for a one-off it's not really necessary.Mostly I do stuff like:
I use STL alot too so I use alot of 'mapThings' and 'iterThing' and with ATL's CComPtr I use 'spThing' for smart-pointer. I don't adhere to the strict Simonyi notation - just enough to get by.It helps me a great deal. Some people turn their noses up at it - I did too at first - but I recon it's worth a try.
Funny, when I read the 'prgrgpszDictionaryBase' part in my head i heard: 'a pointer to a two dimensional array of pointers to null-terminated strings'. Then I read your description and it seemed somehow redundant. I guess that's the point right there.
For example, the variable 'ppch' is a pointer to a pointer to a char (char **). 'p's and '*'s cancel each other so you know that the expression '(*ppch)' is a pointer to a char (char *) and '(**ppch)' is a char.
I also prefix member variables with 'm_' so there's never ambiguity between locals and members in member functions.
Usually the first thing I type is 'int main (int cArgs, char *rgszArgs [])'
Of course, it's not needed for strongly typed languages like C++/Java, but I still use it because it saves me time. I've heard some people complain that it adds too much time in typing - learn to type faster...
what's wrong with this picture?
higher prices and customer harm are signs of a real monopoly...
i don't see that anything's changed.
Sure, but browsers don't use this mechanism to determin file type in the absence of a mime-type header. They all use a mapping from extensions to applications. Mozilla's is in the option dialog (I'm not sure where it's persisted), and IE's is in the registry.
- Use the preemptible kernel patch.
(BTW: the checked build of NT/W2K contains much more than just the debug symbols, the code itself, including the memory manager's heap allocator contains many more runtime checks (ASSERTs) - for example the arguments to Win32 APIs are much more vigorously checked... it's a hog. one useful thing you can do is force every memory allocation to reserve it's own commited page with the subsequent (guard) virtual page always being uncommitted, the pointer returned can be pushed right up to the end of the page so any buffer over(read|write)s will immediately cause address-exceptions in the guard page - very handy for those cases when the usual 'heap-check-on-free()' doesn't help because your app is heavily multithreaded and the order of your allocations isn't deterministic, but i digress...)