If the bathrooms are clean and neat, you can be sure that you're going to be working for a first class operation.
Or simply that they contract a cleaning company, or rent space in a building that does. In many cases looking at the restrooms will only tell you about the building management company.
Questions similar to "What dress code will I need to follow?" can easily bump you up into the "you're hired" zone.
Do you want to work some place that has a "dress code"? Look around and see what your future co-workers are wearing. Asking a question like that makes you look like a fool, or it shows that you don't care about meeting the company appearance standard and will only meet the written regulations.
Either it's a hyper-succesful company that basically exists due to slave, or quasi-slave labour; or a mildly succesful comapany that would be nothing but memories if it weren't for large chunks of taxpayer money.
Where does a company like Microsoft fit into this? Before the anti-trust trial, they didn't lobby. They don't use slave labor, destroy the environment, etc. They achieved monopoly status through "unfair business practices". It seems that with true capitalism, a company like Microsoft would be even more powerful, while organizations like Disney and the RIAA would get crushed.
Cell phone carriers do exactly what you're describing above in the form of in-network calling.
Not really. It's more like you are on Cingular and because you call people on Verizon, Cingular forces Verizon to pay for the privilege or degrades the service.
It's not a perfect analogy because the two parties in phone calls are generally "equal". However, both parties have paid their own provider for the service. Why should one provider have the right to charge the other party?
Here in Seattle... The only thing I really want the ability to do is use an app on my phone (which has a GPS in it) and see where the bus stops nearby are and what times the buses are expected to arrive.
That would be cool, but I've got a totally crazy idea: number the stop locations! Being new to Seattle, taking the bus is very frustrating because they don't provide a clear, simple, unambigious way to identify which stop location to use.
Here are some instructions from their trip planner:
Arrive 4th Ave & Pike St Transfer to Depart Pike St & 4th Ave
Isn't that the same stop? Am I at the right stop, or is it on the other side of the street? Or on cross street at the other end of the block?
Sure, it probably makes sense after you get familiar with the system, but they should make it easy for the first time rider.
Unfortunately, this is not the case with Solaris, which is under a convoluted and restrictive license which basically exists for no reason other than to be incompatible with the GPL.
Use case is somebody buys an AdWords spot and enters the victim's telephone number as the contact number.
Very likely, phone numbers will be confirmed just like email addresses. After entering a number, Google will call the phone number and give a verification code, or simply say "Press 1 to confirm...".
Unfortunately, those who know SSH and port 25 are demanding salaries of at least $60K/year.
That should tell you that what you are willing to pay is unreasonable for the area. That's not a lot of money for an experienced sysadmin, especially for Silicon Valley. I suggest hiring people to telecommute. You can probably find someone living in a cheaper area (such as the midwest) willing to work for what you are willing to pay.
I have worked for several companies that allow sysadmins to telecommute. It works, but you might have to shift your thinking.
One benefit of partition-bound filesystems vs pooled filesystems is that a "runaway" filesystem that fills unexpectedly can't choke a separate filesystem.
You can limit the size of a ZFS filesystem (partition) to avoid the problem you describe. But when when you really do need more space, you're not limited by the initial partition size. Being able to resize partitions is very useful.
it doesn't sound like netezza or bizgres have all memory management, storage management, or parallel capabilities of db2, oracle, informix, or teradata
Netezza is a completely parallel architecture. The appliance is essentially a PC (the host) connected to a large number of disk drives that each have their own FPGA computer attached. The host runs a heavily modified version of PostgreSQL. Data is partitioned (hashed) across all disk drives (with mirroring for redundancy). There are essentially no indexes, at least how they work with traditional databases, though they do have some automatic indexing built into the hashing scheme. Queries are executed by programming each disk drive to only return the data that the host needs. This saves a tremendous amount of bandwidth and processing time. They take the approach since many / most queries require a full table scan, make full table scans as cheap as possible.
I don't know what you mean by memory management or storage management. There is essentially zero administration with the Netezza appliance. You buy an appliance of a certain size. There are no tuning parameters (as far as I know). The only tuning is that you decide how to partition the data (you can optionally hash on a specific column).
I know that Teradata currently has larger installs (such as Walmart, the biggest commercial data warehouse customer), but they cost a LOT more. Netezza says they are working on larger database capacity.
- another set of technology to master - it's generally easier to be an expert at one database manager than two or three.
Very true, though I haven't seen a database as easy as Netezza. It's standard SQL (based on PostgreSQL), so there isn't much to learn. The tools are based on the PostgreSQL tools, so those are easy, especially if you've used PostgreSQL.
Maybe these are best positioned for shops that lack the skills to handle oracle or db2, and don't yet have those products in-house?
I have zero experience with DB2, so I can't comment. My previous employer went with Netezza on my initial recommendation after being fed up with Oracle. They are a small company with a large amount of data (though small as large data warehouses go). We simply could not make Oracle perform, even after throwing hardware at it (EMC disk array, 8-way Opteron with 128GB RAM). Combine the cost of hardware, Oracle and a good DBA (expensive and hard to find, especially for a small company), and Netezza is a lot cheaper in the long run.
Your IBM solution sounds very interesting and I wish I had the chance to learn about such things. I'd love to hear more. I'm not saying that Netezza is the best solution out there. Coming from experience with open source databases and Oracle at a small company on PC hardware, Netezza was very impressive.
but you can't link to seq.next directly to the column and then select on seq.last_value
Actually, you can. Create a trigger, then select seq.last_value. It's trivial to make a database wrapper that supports MySQL and Oracle using this approach. Have a function in your wrapper that returns the last inserted ID and pass it the table name (ignored in the MySQL implementation). Name all of your sequences the same as the table name with _seq appended.
Except.. in order to find out what id the DBMS has assigned a row, I usually have to follow my INSERT with a SELECT, to read the id column. Slow and annoying.
What database requires this? Every database I've ever used has an efficient, documented method of getting the automatically generated ID.
To solve the UPDATE/INSERT issue, I'm less sure.
MySQL has this:
INSERT INTO table (...) VALUES (...) ON DUPLICATE KEY UPDATE column=...
It also lets you use UPDATE syntax for INSERTs:
INSERT INTO table SET name=...
In general, a good solution is to try an INSERT, then UPDATE if it fails due to a key constraint.
what do you prefer for performance on large data warehousing projects?
Netezza. From my brief experience with the product, I can say that it really does live up to their claim of 10-50 times the performance at half the cost. It is absolutely unsuitable for OLTP, but that's no surprise as it is designed for data warehousing with adhoc queries. Nothing else on the market comes close for the price or ease of use.
Bizgres looks like a clone of their architecture and it might be a competitor at some point. Though, it won't be nearly as easy to use. Having a single machine delivered ready to go is a lot easier than setting up a cluster yourself.
And 3 years from now, your PC will not only play Call of Duty 2 at ultra high, but whatever other games you want which look even better.
Assuming your CPU is still fast enough and you spend another $300 on a new graphics card.
360 will be stuck with whatever it could play when it came out.
And your computer will magically get faster over the next three years? Games on consoles do tend to get better over the life of the console as developers gain experience with the console. It is much easier to optimize for a fixed platform.
It's great when you want to integrate it with Microsoft Remote Acess or Microsoft SQL Server or any of a dozen other Microsoft products, but try getting it to authenticate against opensource P2PP/PPP
When there are no remaining links to a file, it is allowed to be deleted.
A file is deleted when the link count is 0 and no process has it open. You can delete (unlink) a file in UNIX and not affect any processes that are currently using it.
I've been spoiled by GNU extensions to tools like grep and ls. Considering I spend most of my time in a command line (under a GNOME terminal, no less), I'd probably find myself frequently irritated.
Install the sysutils/coreutils port. You'll get all the GNU utilities with a 'g' prefix, i.e. gls, gcp, etc. You can alias the ones you want to use.
If the bathrooms are clean and neat, you can be sure that you're going to be working for a first class operation.
Or simply that they contract a cleaning company, or rent space in a building that does. In many cases looking at the restrooms will only tell you about the building management company.
Questions similar to "What dress code will I need to follow?" can easily bump you up into the "you're hired" zone.
Do you want to work some place that has a "dress code"? Look around and see what your future co-workers are wearing. Asking a question like that makes you look like a fool, or it shows that you don't care about meeting the company appearance standard and will only meet the written regulations.
... I might be OK with a person who has 10 ratings with 95% positive.
How do you get 95% positive with 10 ratings?
Either it's a hyper-succesful company that basically exists due to slave, or quasi-slave labour; or a mildly succesful comapany that would be nothing but memories if it weren't for large chunks of taxpayer money.
Where does a company like Microsoft fit into this? Before the anti-trust trial, they didn't lobby. They don't use slave labor, destroy the environment, etc. They achieved monopoly status through "unfair business practices". It seems that with true capitalism, a company like Microsoft would be even more powerful, while organizations like Disney and the RIAA would get crushed.
Cell phone carriers do exactly what you're describing above in the form of in-network calling.
Not really. It's more like you are on Cingular and because you call people on Verizon, Cingular forces Verizon to pay for the privilege or degrades the service.
It's not a perfect analogy because the two parties in phone calls are generally "equal". However, both parties have paid their own provider for the service. Why should one provider have the right to charge the other party?
Using "FUCKING IDIOT" in caps on a mailing list is fairly childish behaviour
Perhaps, but his point is dead-on. He says the same thing as Joel's Bloatware and the 80/20 Myth.
That would be cool, but I've got a totally crazy idea: number the stop locations! Being new to Seattle, taking the bus is very frustrating because they don't provide a clear, simple, unambigious way to identify which stop location to use.
Here are some instructions from their trip planner:
Isn't that the same stop? Am I at the right stop, or is it on the other side of the street? Or on cross street at the other end of the block?
Sure, it probably makes sense after you get familiar with the system, but they should make it easy for the first time rider.
Unfortunately, this is not the case with Solaris, which is under a convoluted and restrictive license which basically exists for no reason other than to be incompatible with the GPL.
Nice troll. The CDDL is the same as the Mozilla Public License (MPL). Everyone loves Mozilla for being open source, but they rail on the CDDL at every available opportunity. Why?
Personally I think the use of the "global" keyword is something PHP got right and every other language (except ruby) got wrong.
What is annoying about PHP is that you can't declare "superglobal" variables. It would be very nice to be able to use global outside of a function.
Use case is somebody buys an AdWords spot and enters the victim's telephone number as the contact number.
Very likely, phone numbers will be confirmed just like email addresses. After entering a number, Google will call the phone number and give a verification code, or simply say "Press 1 to confirm...".
You should apply with my previous employer.
Unfortunately, those who know SSH and port 25 are demanding salaries of at least $60K/year.
That should tell you that what you are willing to pay is unreasonable for the area. That's not a lot of money for an experienced sysadmin, especially for Silicon Valley. I suggest hiring people to telecommute. You can probably find someone living in a cheaper area (such as the midwest) willing to work for what you are willing to pay.
I have worked for several companies that allow sysadmins to telecommute. It works, but you might have to shift your thinking.
One benefit of partition-bound filesystems vs pooled filesystems is that a "runaway" filesystem that fills unexpectedly can't choke a separate filesystem.
You can limit the size of a ZFS filesystem (partition) to avoid the problem you describe. But when when you really do need more space, you're not limited by the initial partition size. Being able to resize partitions is very useful.
I have never, ever smoked or drank in my life, and do not recommend it at all. I'm just a big supporter of personal freedom.
Doesn't personal freedom involve the right to breath smoke-free air?
See the link I posted, AIUI you can't use a trigger if you might ever need to put a value in manually
Are you sure? I don't have Oracle handy to test, but I am fairly certain the trigger could be written to replace the value only if it is not NULL.
it doesn't sound like netezza or bizgres have all memory management, storage management, or parallel capabilities of db2, oracle, informix, or teradata
Netezza is a completely parallel architecture. The appliance is essentially a PC (the host) connected to a large number of disk drives that each have their own FPGA computer attached. The host runs a heavily modified version of PostgreSQL. Data is partitioned (hashed) across all disk drives (with mirroring for redundancy). There are essentially no indexes, at least how they work with traditional databases, though they do have some automatic indexing built into the hashing scheme. Queries are executed by programming each disk drive to only return the data that the host needs. This saves a tremendous amount of bandwidth and processing time. They take the approach since many / most queries require a full table scan, make full table scans as cheap as possible.
I don't know what you mean by memory management or storage management. There is essentially zero administration with the Netezza appliance. You buy an appliance of a certain size. There are no tuning parameters (as far as I know). The only tuning is that you decide how to partition the data (you can optionally hash on a specific column).
I know that Teradata currently has larger installs (such as Walmart, the biggest commercial data warehouse customer), but they cost a LOT more. Netezza says they are working on larger database capacity.
- another set of technology to master - it's generally easier to be an expert at one database manager than two or three.
Very true, though I haven't seen a database as easy as Netezza. It's standard SQL (based on PostgreSQL), so there isn't much to learn. The tools are based on the PostgreSQL tools, so those are easy, especially if you've used PostgreSQL.
Maybe these are best positioned for shops that lack the skills to handle oracle or db2, and don't yet have those products in-house?
I have zero experience with DB2, so I can't comment. My previous employer went with Netezza on my initial recommendation after being fed up with Oracle. They are a small company with a large amount of data (though small as large data warehouses go). We simply could not make Oracle perform, even after throwing hardware at it (EMC disk array, 8-way Opteron with 128GB RAM). Combine the cost of hardware, Oracle and a good DBA (expensive and hard to find, especially for a small company), and Netezza is a lot cheaper in the long run.
Your IBM solution sounds very interesting and I wish I had the chance to learn about such things. I'd love to hear more. I'm not saying that Netezza is the best solution out there. Coming from experience with open source databases and Oracle at a small company on PC hardware, Netezza was very impressive.
but you can't link to seq.next directly to the column and then select on seq.last_value
Actually, you can. Create a trigger, then select seq.last_value. It's trivial to make a database wrapper that supports MySQL and Oracle using this approach. Have a function in your wrapper that returns the last inserted ID and pass it the table name (ignored in the MySQL implementation). Name all of your sequences the same as the table name with _seq appended.
Knowing amazon they've patented this .. even though it's a known technique etc.
Amazon patents things for protection, as do most other large companies. They recently paid $40m in a patent settlement.
Except .. in order to find out what id the DBMS has assigned a row, I usually have to follow my INSERT with a SELECT, to read the id column. Slow and annoying.
What database requires this? Every database I've ever used has an efficient, documented method of getting the automatically generated ID.
To solve the UPDATE/INSERT issue, I'm less sure.
MySQL has this:
INSERT INTO table (...) VALUES (...) ON DUPLICATE KEY UPDATE column=...
It also lets you use UPDATE syntax for INSERTs:
INSERT INTO table SET name=...
In general, a good solution is to try an INSERT, then UPDATE if it fails due to a key constraint.
what do you prefer for performance on large data warehousing projects?
Netezza. From my brief experience with the product, I can say that it really does live up to their claim of 10-50 times the performance at half the cost. It is absolutely unsuitable for OLTP, but that's no surprise as it is designed for data warehousing with adhoc queries. Nothing else on the market comes close for the price or ease of use.
Bizgres looks like a clone of their architecture and it might be a competitor at some point. Though, it won't be nearly as easy to use. Having a single machine delivered ready to go is a lot easier than setting up a cluster yourself.
And 3 years from now, your PC will not only play Call of Duty 2 at ultra high, but whatever other games you want which look even better.
Assuming your CPU is still fast enough and you spend another $300 on a new graphics card.
360 will be stuck with whatever it could play when it came out.
And your computer will magically get faster over the next three years? Games on consoles do tend to get better over the life of the console as developers gain experience with the console. It is much easier to optimize for a fixed platform.
It's great when you want to integrate it with Microsoft Remote Acess or Microsoft SQL Server or any of a dozen other Microsoft products, but try getting it to authenticate against opensource P2PP/PPP
It's trivial to authenticate a user with a single API call.
Please point to a mail system that actually uses the file system to hard link 1000 emails like the grandparent proposed.
i ew.html#singleinstanceN 824
http://asg.web.cmu.edu/cyrus/download/imapd/overv
http://doc.powerdns.com/powermail/indepth.html#AE
When there are no remaining links to a file, it is allowed to be deleted.
A file is deleted when the link count is 0 and no process has it open. You can delete (unlink) a file in UNIX and not affect any processes that are currently using it.
I've been spoiled by GNU extensions to tools like grep and ls. Considering I spend most of my time in a command line (under a GNOME terminal, no less), I'd probably find myself frequently irritated.
Install the sysutils/coreutils port. You'll get all the GNU utilities with a 'g' prefix, i.e. gls, gcp, etc. You can alias the ones you want to use.