This evening, I did one thing that gives me much joy - writing and submitting invoices.
I write them using a stupid-simply web app thingy I hacked together long ago, which generates PDFs which I then attach via e-mail to the clients.
KDE has an awesome file selector - as I go down the list of PDF files, and choose one, a preview window shows the PDF scaled, right there in the selection window.
That makes it SO EASY to make sure I have the right invoice for the right client!
The preview window in KDE previews most file types: html, jpg, gif, png, pdf, etc. There's a bunch of common links to the left, such as "Desktop", "Documents", "Home", "Floppy" that make finding the destination a snap.
The gnome file selector is pretty lame in comparison. No preview, no hot links, etc. and just a retarded dropdown menu for navigation.
From TFA:Because extensive rearrangement of the carbon atoms occurs, the scientists estimate that the tubes reach temperatures of nearly 1,500 degrees Celsius.
This doesn't happen *while* the nanotubes are at 1,500 C, the nanotubes heat up to 1,500 C as a result of the flash!
You really *REALLY* should RTFA when chastising somebody else for not RTFA!
Insulin resistance seems to be correlated with obesity. I'm not saying you can't be fat and drink coffee... but most of the "looks like a crack addict with his coffee fix" people I know are thin.
How right you are!
I am constantly dealing with Type II diabetes. (Ironically, I'm also a modest coffee drinker averaging ~ 30 oz / day)
I've found that when my weight climbs above 225, I have problems with my blood sugars. When my weight is under 220 or so, I have little to no trouble at all.
This is not an issue, except that I'm lazy. Very, very lazy. So, I end up hovering between 210-230 or so, losing weight when I start having problems with my blood sugars, and easing off when I stop.
Currently, my routine consists of talking with clients in the morning, coding all afternoon, then going for a 2-4 mile jog in the early evening with my two 14 Y.O. sons.
For me, the correlation between obesity and Type II diabetes is incredibly clear, and is perhaps the only reason why I remain a healthy 220-ish instead of the 300+ lbs. my lifestyle tendencies would lead me to.
Since I put out the effort to lose the weight to keep my situation under control, I'll probably live alot longer!
The authorities are not in possession of cameras that are used in bank robberies, convienience store robberies, etc. either. Yet if there's a clear picture those are sometimes enough to pretty much ensure a conviction....
If I were the prosecutor for this trial I'd have you try to demonstrate your Photoshop abilities if you went that route. Say "if the shots were doctored, who doctored them?"
Except that these things just don't work that way.
In the case of the bank cameras, there are people on hand who will swear, under oath, that the cameras recorded accurately, and that the pictures recorded are an accurate representation of what actually happened.
All the defendant in this case would have to do, is state that the pictures are not an accurate representation of what actually happened, and the prosecution would then have to come up with compelling evidence to indicate that they were, in fact, accurate. Otherwise, it's hearsay, and inadmissable as evidence, except under special circumstances.
This "compelling evidence" is typically somebody's sworn testimony that it's true. Good luck getting her to swear this under oath.
Also remember that a criminal case is decided on "beyond reasonable doubt" while a civil case is decided on a "reasonable preponderance of the evidence". The prosecution then has to prove these pictures are real beyond any reasonable doubt, while the defendant only has to introduce any amount of doubt.
Remember OJ Simpson? We were all pretty sure he was guilty as sin, but the defense injected enough doubt in the case that "beyond reasonable doubt" could not be attained to convict by the jury.
Since addslashes() is only truly useful when magic_quotes are off, I wrap it all in a function that checks the status of magic_quotes. Defined as something like:
dbprep($string, $length=-1);
So that if $length>0 the input cannot be longer than $length.
I do the same for databased output, EG: dbout().
Combine addslashes with a few others, such as htmlentities(), and perhaps a regex or something to check for [a-zA-Z0-9], and you have *very* powerful input validation.
forms and web interfaces that you provide the user aren't the only way to interact with your application.
So true, so true. For example (in PHP)
<? if ($login='Admin' && $pass='19ak129')
$secure=true; if ($secure)
{// do something very important.
} ?>
In many cases this script's security could be bypassed by adding "&secure=true" at the end of the URL!
I prefer to generate or define a set of values that are acceptable and check with in_array().
EG:
<? $acceptable=array('a', 'b','na'); if (!in_array($acceptable, $_REQUEST[check]))
die ('Sorry. Input in field "check" is invalid'); ?>
Or by using a regex. Assume that the input must be a number:
<? $match="/[0-9]+/"; if (preg_replace($match, '', $_REQUEST[number]))
die ('You must put in a number'); if (strlen($_REQUEST[number]>5))
die ('Number you have entered is out of range'); ?>
You can oftentimes functionalize these so that it's as simple as:
<? if ($error=Valid_Integer($_REQUEST[number]))
die($error); ?>
Is this a threat to Microsoft? Or is this "for real"?
If they actually distribute the CDs, is there a difference?
I consider this a followup on this story at Linux Today about their threat to use Linux instead of MS-Windows.
As such, we are definitely seeing the economics of competition and choice re-enter the marketplace, and no matter how you look at it, this is a GOOD THING.
If it's all made out of plexiglas (or other compounds other than metal, as are many typical case mods), wouldn't this end up doing something like, say, causing all your sperm to mutate?
It's been said elsewhere, but I'd still like to clarify.
1) EM fields are created by AC current. (AC = Alternating Current, the kind in a wall, goes "back and forth" 60 times a second, and for this reason, any 2-prong plug can be reversed and it still works)
2) Computers use 5 (and a little) 12 v DC current (DC = Direct Current, goes in same direction at usually a steady rate - think batteries with a "+" and a "-" side that cannot be reversed)
Since A) DC doesn't give off EM radiation, and B) computers use extremely low DC voltage, most of a computer's circuitry will give off very little detectable radiation.
...the fact that its there will kill off 70% of the coffee shops in its vacinity because most people would rather go with a brand name than quality
Wow. How wrong can you be?
Starbucks charges too much for lousy coffee.
At my home town (Chico, CA) My *favorite* coffee shop offers decent coffee, all you can drink, along with a fresh (cooked there, every morning) bagel with eggs and cheese, cooked New York style, for $5.
Think about this... $4 for one cup of bad coffee, $5 for unlimited, good coffee w/bagel and cheese... (think hard, guys)
I would *only* consider Starbucks out of town. Otherwise, I'm going to sample the local wares to find a truly decent cup of coffee!
Many reports would take 5+ hours and the system would drag so slowly that others could hardly use the system (thus the reports could only be run at night). About two months after I started, we switched to Linux on a dual 1Ghz machine. Those same reports literally took 6-10 minutes and there was no slowdown on the rest of the system
Dunno about your scenario, but I've seen the later revisions of the 2.4 kernel handle nicely under insane load averages....
I've seen a spambot webcrawler just HAMMER a heavily database-dependent dynamic website, driving the load average all the way up to 150. (No, not 1.5 or 15, 150)
When I got to the server, sendmail had shut itself down, and Postgres was complaining about too many simultaneous connections. However, the system was still quite responsive to my ssh session, and I was able to stop the offending IP addresses with iptables at which point every quickly went right back in order.
Blew my mind, though. 150? Still quite responsive? Something is going very VERY right there...
Assume that the average contract is $40 a month. (About what it is now) Assume that a big company has a sizable saturation in an area.
Now, assume that a competitor comes into an area and wants to charge $30 per month. Interoperability means that this new competitor can provide the same service as the bigger company yet charge a lower price.
So, there must be fees that the smaller competitor must pay to the larger company in order for this to work. Do you think the larger company will be cheap? Do you think that they will *really* let the smaller company charge $30 and still make a profit?
Whatever this deal is, it'd better be mighty strong.
The average income in China is rather low. That means, wire is expensive.
However, if a standard, unified, cooperative standard was released for packet-based communication was released to the public domain, and a reasonably cost-effective solution was available to anybody regardless of size, you'd see the obviation of many of these wires...
Oh... wait... that's called the Internet, isn't it?
Seriously, wires are only strung 'cause it's cheaper than the alternative. If there was a standard, effective method of effecting a point to point communication, over IP or whatever, and it was reasonably priced, all those extra wires would go away.
Linux is retarded in the area of any kind of kernel module.
Yes, the Linux kernel is nice and modular, and you can make modules and do some neat stuff (like dynamic loading) with them, but....
Why do modules have to be custom compiled to each exact kernel version?
A binary API should be developed with standard hooks that allow for things like video cards, sound cards, soft modems, scanners, and other crap to operate via a protected, binary-compatable API that doesn't change in any minor release. (EG: 2.4.x should be cross compatable)
One of the successes of Microsoft's hardware compatability is that I can frequently use a driver from Windows 3.1 on my Windows 98 or ME system.
Linux developers can cry all they want to about "open" drivers, but there are plenty of times where that just isn't feasible. And, why shouldn't there be a single, well-documented API that allows for binary driver distribution?
Why should this "pollute" anything at all?
Spending any more than 10 or 20 minutes loading a driver is retarded, and even though I'm a firm believer in Linux and its future, I'll be the first to say this.
Create a clear, binary-compatable API for drivers and the drivers will appear like magic, especially if it's similar to the API for Windows drivers.
Hardware companies are begging for more sales, and if they can get them by recompiling their windows drivers, or at the very least putting out and supporting a single driver file for "2.4.x kernel" Linux, you'll find that lots of companies would be perfectly happy to "play nice"...
Although it would never happen, Microsoft really should be made to choose one, here.
On one hand, they are fighting tooth and nail against Lindows, arguing that changing a single character constitutes trademark violation, and on the other, they are fighting Mythic(a), to argue that changing a single character doesn't violate trademark.
Of course, Windows is M$'s reason for existence, so if it came to that, they'd change they name of "Mythica" to "Mythologica" or something like that...
But, wouldn't it be truly ironic if Microsoft WON this suit, and that victory was then used to settle Lindows' suit?
Wistful musings over lunch, between coding sessions....
Well, it's late in the game, there are a million other comments, and if there were points I was after, this would not be the time or place to write.
However, I feel I have to add my $0.02.
I recently wrote a mid-sized application using PHP-GTK. Reasoning being that it was to be a semi web-based product, it would be best to leverage the PHP code on the client and server sides, and the GTK toolkit can be used to write the UI.
It works well, and is achieving high acclaim in the marketplace in a way that the previous product based on VB simply didn't.
That said, GTK 1.x, which was bound to PHP 4, is a horrible mess.
1) Documentation is very spotty at best. I've at times had to query an object directly with get_class_methods() in order to find out what methods I can call, simply because there was no documentation for it.
2) The widgets are terribly inconsistent. For example, GtkCList (a table of text values) doesn't contain child widgets, even though portions of the widget are selectable! Thus, you cannot use something like tooltips (which creates a popup yellow text widget when you hover over a widget) for anything but the whole table!
3) Things that should be easy, like creating menus, are simply a pain in the rear.
4) The API for GTK is transient - what works in 1.3 largely won't work in 2.0. Thus, when PHP5 is bound to GTK2 (which is the official plan, AFAIK) I know there will be a *huge* porting effort just to get the application to recompile.
5) GTK objects don't have consistent means to access variables. Most of the time you use $object->Set_Data(). But, sometimes you use $object->Set_Row_Data(), or $object->Node_Set_Row_Data(). This is largely because of #2 above....
So, does it work? Yeah. Was it the best available at the time given our resources and needs? Yeah.
But there's a HELL of a lot of room for improvement. (I left a zillion notes in the online gtk.php.net documentation website as my contribution since I am not a c coder)
Terminator was the "Matrix" of movies when I was in High School. Terminator and Terminator II virtually created their own genre, and were incredible hits.
Everybody talked about "T2" when it came out. I mean *EVERYONE*.
So, when I saw T3 coming out, I knew I had to see it!
Just now, I switched down to +1 and still didn't see a single comment on Terminator 3.
And, the movie was just kinda... boring. Lots of smashing stuff, and not much feeling or pashion. T2, with its 80's hairstyles, ancient special effects and almost believable love scenes was much, much better.
I eventually gave up. However, the SELinux extensions were merged into the 2.6 kernel and it's apparently the plan of Fedora/Red Hat to put it into Fedora Core 2 sometime later this spring.
There are a few primary concerns with building your own rackmount box.
1) Accessability - an area where many commercial rackmounts flop, let alone a home-build.
2) Temperature - when you pack 4 dual-processing Athlons into a small box, you have quite a room heater. Not only does the rackmount itself need to be ventilated, but the cooling needs of the room it's in need to be considered.
3) Appearance - is it going to sit in your living room? Or, is functionality the primary concern?
4) Power and bandwidth - How are you going to plug it all in? If appearance is an issue, what about all that ugly cat5 cabling?
5) Resources - what tools do you have? Are you like me, armed with a 1'x1'x3' toolbox filled with cheap handtools, a circular saw, and a drill, or do you have a garage full of table saws, lathes, and routers?
6) Cleanliness - I've seen a rackmounted system run 24x7 in a hosting facility for 2 years and at the end not have any noticable amount of dust. I've also seen my kids' computer downstairs accumulate over 1/2" of dust on the CPU heatsink. If the box will sit in your home, you have to account for any dust in the house. I'd recommend two boxes in your unit. A small one on the bottom, with a filter on the very bottom letting air in, and fans on the top pushing the filtered air up into the server cavity. Then, at the top of the server cavity, on the sides, have the ventilation holes that let the heated air out.
7) Dimensions - there are basically two kinds of racks. 19" used by servers, and a larger size (22'? 23'?) used for telecommunications. You can get brackets to convert the bigger to the smaller.
I assume that you have a server or two, or you wouldn't be bringing it up. Really, I wouldn't consider making my own unless I enjoyed making wooden-ish boxes or had some special need or decor to match up with. You can get a decent half-size rack on ebay for a few hundred.
One patch isn't "patches, patches everywhere!". If you want to see "patches, patches everywhere" for the month of December, look at Red Hat 9.
I agree that one patch isn't "patches, patches everywhere!", but the basic issue isn't the real issue, here.
The core issue is that Microsoft issues an update and doesn't even know who did it!
So, one of two things have happened:
1) Microsoft's Windows update has been compromised by a black hat, or
2) Microsoft's internal quality control is demonstrated to be miserable when we don't know who even issued the patch, implying similar quality control over the source code for all MS products.
This evening, I did one thing that gives me much joy - writing and submitting invoices.
I write them using a stupid-simply web app thingy I hacked together long ago, which generates PDFs which I then attach via e-mail to the clients.
KDE has an awesome file selector - as I go down the list of PDF files, and choose one, a preview window shows the PDF scaled, right there in the selection window.
That makes it SO EASY to make sure I have the right invoice for the right client!
The preview window in KDE previews most file types: html, jpg, gif, png, pdf, etc. There's a bunch of common links to the left, such as "Desktop", "Documents", "Home", "Floppy" that make finding the destination a snap.
The gnome file selector is pretty lame in comparison. No preview, no hot links, etc. and just a retarded dropdown menu for navigation.
For a toolkit, this is a pretty big deal!
From TFA: Because extensive rearrangement of the carbon atoms occurs, the scientists estimate that the tubes reach temperatures of nearly 1,500 degrees Celsius.
This doesn't happen *while* the nanotubes are at 1,500 C, the nanotubes heat up to 1,500 C as a result of the flash!
You really *REALLY* should RTFA when chastising somebody else for not RTFA!
Insulin resistance seems to be correlated with obesity. I'm not saying you can't be fat and drink coffee... but most of the "looks like a crack addict with his coffee fix" people I know are thin.
How right you are!
I am constantly dealing with Type II diabetes. (Ironically, I'm also a modest coffee drinker averaging ~ 30 oz / day)
I've found that when my weight climbs above 225, I have problems with my blood sugars. When my weight is under 220 or so, I have little to no trouble at all.
This is not an issue, except that I'm lazy. Very, very lazy. So, I end up hovering between 210-230 or so, losing weight when I start having problems with my blood sugars, and easing off when I stop.
Currently, my routine consists of talking with clients in the morning, coding all afternoon, then going for a 2-4 mile jog in the early evening with my two 14 Y.O. sons.
For me, the correlation between obesity and Type II diabetes is incredibly clear, and is perhaps the only reason why I remain a healthy 220-ish instead of the 300+ lbs. my lifestyle tendencies would lead me to.
Since I put out the effort to lose the weight to keep my situation under control, I'll probably live alot longer!
The authorities are not in possession of cameras that are used in bank robberies, convienience store robberies, etc. either. Yet if there's a clear picture those are sometimes enough to pretty much ensure a conviction. ...
If I were the prosecutor for this trial I'd have you try to demonstrate your Photoshop abilities if you went that route. Say "if the shots were doctored, who doctored them?"
Except that these things just don't work that way.
In the case of the bank cameras, there are people on hand who will swear, under oath, that the cameras recorded accurately, and that the pictures recorded are an accurate representation of what actually happened.
All the defendant in this case would have to do, is state that the pictures are not an accurate representation of what actually happened, and the prosecution would then have to come up with compelling evidence to indicate that they were, in fact, accurate. Otherwise, it's hearsay, and inadmissable as evidence, except under special circumstances.
This "compelling evidence" is typically somebody's sworn testimony that it's true. Good luck getting her to swear this under oath.
Also remember that a criminal case is decided on "beyond reasonable doubt" while a civil case is decided on a "reasonable preponderance of the evidence". The prosecution then has to prove these pictures are real beyond any reasonable doubt, while the defendant only has to introduce any amount of doubt.
Remember OJ Simpson? We were all pretty sure he was guilty as sin, but the defense injected enough doubt in the case that "beyond reasonable doubt" could not be attained to convict by the jury.
BTW, this is for California, and IANAL.
Can you imagine the field day that the spammers would have with this one?
#77 Create an email address directory
It's amazing how such conflicting "make it better" ideas can co-exist in a single copyrighted work...
What about addslashes()?
Since addslashes() is only truly useful when magic_quotes are off, I wrap it all in a function that checks the status of magic_quotes. Defined as something like:
dbprep($string, $length=-1);
So that if $length>0 the input cannot be longer than $length.
I do the same for databased output, EG: dbout().
Combine addslashes with a few others, such as htmlentities(), and perhaps a regex or something to check for [a-zA-Z0-9], and you have *very* powerful input validation.
Am I missing something?
forms and web interfaces that you provide the user aren't the only way to interact with your application.
// do something very important.
So true, so true. For example (in PHP)
<?
if ($login='Admin' && $pass='19ak129')
$secure=true;
if ($secure)
{
}
?>
In many cases this script's security could be bypassed by adding "&secure=true" at the end of the URL!
I prefer to generate or define a set of values that are acceptable and check with in_array().
EG:
<?
$acceptable=array('a', 'b','na');
if (!in_array($acceptable, $_REQUEST[check]))
die ('Sorry. Input in field "check" is invalid');
?>
Or by using a regex. Assume that the input must be a number:
<?
$match="/[0-9]+/";
if (preg_replace($match, '', $_REQUEST[number]))
die ('You must put in a number');
if (strlen($_REQUEST[number]>5))
die ('Number you have entered is out of range');
?>
You can oftentimes functionalize these so that it's as simple as:
<?
if ($error=Valid_Integer($_REQUEST[number]))
die($error);
?>
Simple methods that can greatly enhance security!
Is this a threat to Microsoft? Or is this "for real"?
If they actually distribute the CDs, is there a difference?
I consider this a followup on this story at Linux Today about their threat to use Linux instead of MS-Windows.
As such, we are definitely seeing the economics of competition and choice re-enter the marketplace, and no matter how you look at it, this is a GOOD THING.
If it's all made out of plexiglas (or other compounds other than metal, as are many typical case mods), wouldn't this end up doing something like, say, causing all your sperm to mutate?
It's been said elsewhere, but I'd still like to clarify.
1) EM fields are created by AC current. (AC = Alternating Current, the kind in a wall, goes "back and forth" 60 times a second, and for this reason, any 2-prong plug can be reversed and it still works)
2) Computers use 5 (and a little) 12 v DC current (DC = Direct Current, goes in same direction at usually a steady rate - think batteries with a "+" and a "-" side that cannot be reversed)
Since A) DC doesn't give off EM radiation, and B) computers use extremely low DC voltage, most of a computer's circuitry will give off very little detectable radiation.
-Ben
...the fact that its there will kill off 70% of the coffee shops in its vacinity because most people would rather go with a brand name than quality
Wow. How wrong can you be?
Starbucks charges too much for lousy coffee.
At my home town (Chico, CA) My *favorite* coffee shop offers decent coffee, all you can drink, along with a fresh (cooked there, every morning) bagel with eggs and cheese, cooked New York style, for $5.
Think about this... $4 for one cup of bad coffee, $5 for unlimited, good coffee w/bagel and cheese... (think hard, guys)
I would *only* consider Starbucks out of town. Otherwise, I'm going to sample the local wares to find a truly decent cup of coffee!
Isn't Von Neuman the fat, annoying neighbor of Seinfeld?
Software company overhead: one DSL line.
Oops! You forgot some extras, such as
- Computer
- Power
- Telephone and LD charges
- Promotion
- Food, drinks...
- A place to meet with clients
- Travel expenses to meet clients
- Cell phone (yeah, a necessity)
- Business cards
Anyone want an unopened copy of Freelancer?
Me! Me me me me ME!
Many reports would take 5+ hours and the system would drag so slowly that others could hardly use the system (thus the reports could only be run at night). About two months after I started, we switched to Linux on a dual 1Ghz machine. Those same reports literally took 6-10 minutes and there was no slowdown on the rest of the system
Dunno about your scenario, but I've seen the later revisions of the 2.4 kernel handle nicely under insane load averages....
I've seen a spambot webcrawler just HAMMER a heavily database-dependent dynamic website, driving the load average all the way up to 150. (No, not 1.5 or 15, 150)
When I got to the server, sendmail had shut itself down, and Postgres was complaining about too many simultaneous connections. However, the system was still quite responsive to my ssh session, and I was able to stop the offending IP addresses with iptables at which point every quickly went right back in order.
Blew my mind, though. 150? Still quite responsive? Something is going very VERY right there...
Here's the core problem with interoperability...
Assume that the average contract is $40 a month. (About what it is now) Assume that a big company has a sizable saturation in an area.
Now, assume that a competitor comes into an area and wants to charge $30 per month. Interoperability means that this new competitor can provide the same service as the bigger company yet charge a lower price.
So, there must be fees that the smaller competitor must pay to the larger company in order for this to work. Do you think the larger company will be cheap? Do you think that they will *really* let the smaller company charge $30 and still make a profit?
Whatever this deal is, it'd better be mighty strong.
-Ben
Ahhh. The memories...
I remember fondly the hours I spent twiddling the bits on what was at the time one of the most powerful computers in existence...
I could manipulate its digits directly with my fingers. I remember the distinct clanking noise made when I moved its keys... soothing and satisfying.
I will never forget my abacus.
The average income in China is rather low. That means, wire is expensive.
However, if a standard, unified, cooperative standard was released for packet-based communication was released to the public domain, and a reasonably cost-effective solution was available to anybody regardless of size, you'd see the obviation of many of these wires...
Oh... wait... that's called the Internet, isn't it?
Seriously, wires are only strung 'cause it's cheaper than the alternative. If there was a standard, effective method of effecting a point to point communication, over IP or whatever, and it was reasonably priced, all those extra wires would go away.
Linux is retarded in the area of any kind of kernel module.
Yes, the Linux kernel is nice and modular, and you can make modules and do some neat stuff (like dynamic loading) with them, but....
Why do modules have to be custom compiled to each exact kernel version?
A binary API should be developed with standard hooks that allow for things like video cards, sound cards, soft modems, scanners, and other crap to operate via a protected, binary-compatable API that doesn't change in any minor release. (EG: 2.4.x should be cross compatable)
One of the successes of Microsoft's hardware compatability is that I can frequently use a driver from Windows 3.1 on my Windows 98 or ME system.
Linux developers can cry all they want to about "open" drivers, but there are plenty of times where that just isn't feasible. And, why shouldn't there be a single, well-documented API that allows for binary driver distribution?
Why should this "pollute" anything at all?
Spending any more than 10 or 20 minutes loading a driver is retarded, and even though I'm a firm believer in Linux and its future, I'll be the first to say this.
Create a clear, binary-compatable API for drivers and the drivers will appear like magic, especially if it's similar to the API for Windows drivers.
Hardware companies are begging for more sales, and if they can get them by recompiling their windows drivers, or at the very least putting out and supporting a single driver file for "2.4.x kernel" Linux, you'll find that lots of companies would be perfectly happy to "play nice"...
Although it would never happen, Microsoft really should be made to choose one, here.
On one hand, they are fighting tooth and nail against Lindows, arguing that changing a single character constitutes trademark violation, and on the other, they are fighting Mythic(a), to argue that changing a single character doesn't violate trademark.
Of course, Windows is M$'s reason for existence, so if it came to that, they'd change they name of "Mythica" to "Mythologica" or something like that...
But, wouldn't it be truly ironic if Microsoft WON this suit, and that victory was then used to settle Lindows' suit?
Wistful musings over lunch, between coding sessions....
Well, it's late in the game, there are a million other comments, and if there were points I was after, this would not be the time or place to write.
However, I feel I have to add my $0.02.
I recently wrote a mid-sized application using PHP-GTK. Reasoning being that it was to be a semi web-based product, it would be best to leverage the PHP code on the client and server sides, and the GTK toolkit can be used to write the UI.
It works well, and is achieving high acclaim in the marketplace in a way that the previous product based on VB simply didn't.
That said, GTK 1.x, which was bound to PHP 4, is a horrible mess.
1) Documentation is very spotty at best. I've at times had to query an object directly with get_class_methods() in order to find out what methods I can call, simply because there was no documentation for it.
2) The widgets are terribly inconsistent. For example, GtkCList (a table of text values) doesn't contain child widgets, even though portions of the widget are selectable! Thus, you cannot use something like tooltips (which creates a popup yellow text widget when you hover over a widget) for anything but the whole table!
3) Things that should be easy, like creating menus, are simply a pain in the rear.
4) The API for GTK is transient - what works in 1.3 largely won't work in 2.0. Thus, when PHP5 is bound to GTK2 (which is the official plan, AFAIK) I know there will be a *huge* porting effort just to get the application to recompile.
5) GTK objects don't have consistent means to access variables. Most of the time you use $object->Set_Data(). But, sometimes you use $object->Set_Row_Data(), or $object->Node_Set_Row_Data(). This is largely because of #2 above....
So, does it work? Yeah. Was it the best available at the time given our resources and needs? Yeah.
But there's a HELL of a lot of room for improvement. (I left a zillion notes in the online gtk.php.net documentation website as my contribution since I am not a c coder)
Geez.
Terminator was the "Matrix" of movies when I was in High School. Terminator and Terminator II virtually created their own genre, and were incredible hits.
Everybody talked about "T2" when it came out. I mean *EVERYONE*.
So, when I saw T3 coming out, I knew I had to see it!
Just now, I switched down to +1 and still didn't see a single comment on Terminator 3.
And, the movie was just kinda... boring. Lots of smashing stuff, and not much feeling or pashion. T2, with its 80's hairstyles, ancient special effects and almost believable love scenes was much, much better.
Big disappointment!
I just spent the last 3 days trying to get the SELinux extensions, courtesy of the NSA installed on a Fedora Core 1 system.
I eventually gave up. However, the SELinux extensions were merged into the 2.6 kernel and it's apparently the plan of Fedora/Red Hat to put it into Fedora Core 2 sometime later this spring.
I, for one, can't wait.
... 400 million copies in circulation, and almost no corporate decision takes place without it. But what if PowerPoint is actually making us stupider?
This year, Edward Tufte -- the famous...
Perfect slashdot grammar! At the NYT! We are WINNING! Grammer Nazis, CHARGE!!!
There are a few primary concerns with building your own rackmount box.
1) Accessability - an area where many commercial rackmounts flop, let alone a home-build.
2) Temperature - when you pack 4 dual-processing Athlons into a small box, you have quite a room heater. Not only does the rackmount itself need to be ventilated, but the cooling needs of the room it's in need to be considered.
3) Appearance - is it going to sit in your living room? Or, is functionality the primary concern?
4) Power and bandwidth - How are you going to plug it all in? If appearance is an issue, what about all that ugly cat5 cabling?
5) Resources - what tools do you have? Are you like me, armed with a 1'x1'x3' toolbox filled with cheap handtools, a circular saw, and a drill, or do you have a garage full of table saws, lathes, and routers?
6) Cleanliness - I've seen a rackmounted system run 24x7 in a hosting facility for 2 years and at the end not have any noticable amount of dust. I've also seen my kids' computer downstairs accumulate over 1/2" of dust on the CPU heatsink. If the box will sit in your home, you have to account for any dust in the house. I'd recommend two boxes in your unit. A small one on the bottom, with a filter on the very bottom letting air in, and fans on the top pushing the filtered air up into the server cavity. Then, at the top of the server cavity, on the sides, have the ventilation holes that let the heated air out.
7) Dimensions - there are basically two kinds of racks. 19" used by servers, and a larger size (22'? 23'?) used for telecommunications. You can get brackets to convert the bigger to the smaller.
I assume that you have a server or two, or you wouldn't be bringing it up. Really, I wouldn't consider making my own unless I enjoyed making wooden-ish boxes or had some special need or decor to match up with. You can get a decent half-size rack on ebay for a few hundred.
-Ben
One patch isn't "patches, patches everywhere!". If you want to see "patches, patches everywhere" for the month of December, look at Red Hat 9.
I agree that one patch isn't "patches, patches everywhere!", but the basic issue isn't the real issue, here.
The core issue is that Microsoft issues an update and doesn't even know who did it!
So, one of two things have happened:
1) Microsoft's Windows update has been compromised by a black hat, or
2) Microsoft's internal quality control is demonstrated to be miserable when we don't know who even issued the patch, implying similar quality control over the source code for all MS products.
Is there anything I missed here?