When you say client-side... are you thinking of networked applications, or just refering to the DBMS as a server and any apps using it as clients.
I mean that the DBMS is the server and the C/C++/$favourite_language is the client. I mean in the sense than anything that connects to the database is a client to the database.
I don't do much in the way of integrity consraints and cascades in SQL, and I really should make better use of such features....
Apart from that, I like to do as much as I can in C or similar.
This is a problem IMHO. The database does a better job of ensuring Referential Integrity (Foreign Keys, Primary Keys, etc), than we can do client side. This is not to say that we don't do client side checking, but integrity of your data is that important that you want to hand it off to something that does a specialises in this.
Equally, SQL is better for manipulating sets of data than procedural code. It is faster, and more flexible. I prefer to have the DBMS return the single dataset I want, rather than a collection that I stitch together.
I know that those features haven't always been available, but they are now. Databases have changed.
Thanks. I haven't has time to install and mess around with the pre-release versions. It would have been pretty braindead if they hadn't included a feature of this sort.
As far as I can see, intel lost its edge over AMD during the race to 1Ghz back in the Athlon/P3 days.
I've been watching this race for a while and the only thing intel has produced that is was/is better than AMD has been the Pentium M, until the last 2 years, the xeon. If I have missed something, please do point it out to me. Since that release of the Athlon, for the desktop and now the server, AMD has consistentently produced, better cheaper CPUs that intel.
As far as I can see, the only advantage that intel has over AMD is manufacturing capacity.
One brief opening comment, as far as I am aware LIMIT is not part of the SQL standard (I haven't checked the more recent standards). This is also a feature I have personally requested for the new release of SQL Server. As I am some random guy off the web, I don't imagine that that holds any weight with Microsoft.
There are a number of solutions to this problem, unfortunately I would characterise most of them as hacks.
1. Your first option is to write a mess of dynamic SQL. The only thing SQL Server has that is close to this is TOP. To make life just that little bit easier, TOP does not allow you to limit by a variable, hence the dynamic SQL. Effectively you write something like this. I've written this off the top of my head, so it is probably wrong:
SET @SQL = 'SELECT TOP ' + CAST((@End - @Start) AS VarChar(100) + ' MyID FROM (SELECT TOP ' + CAST(@End AS VarChar(100) + ' MyID FROM MyTable ORDER BY MyID DESC) ORDER BY MyID ASC'
EXEC(@SQL)
Yuck. Dynamic SQL is teh suck.
2. You next, better option is to use a temp table. Something like this:
CREATE TABLE #IDs ( RowNum Int Identity, MyID Int )
INSERT INTO #IDs SELECT MyID FROM MyTable ORDER BY MyID DESC
SELECT * FROM #IDs WHERE RoNum BETWEEN @Start AND @End
DROP TABLE #IDs
This is a cleaner solution, but obviously not a reasonable option if the table gets large.
3. The last option is one I've never really liked, so I can't explain it as well. From what I recall, it is a half-solution, where you use ROWCOUNT to limit the reaults returned. I'd have to hunt down an article on the subject.
Summary: so there is no nice, clean, neat way to do this I am afraid. Someone else has suggested that you use a cursor. Ignore that advice. There is very, very, very rarely excuse to ever use a cursor on set oriented data.
I think I have access to a beta of Yukon so I'm not sure if they have offered a comparable feature to LIMIT. I darn well hope they have.
As a matter of interest, does this mean that you leave RI out of the hands of the database? Do you use SQL to manipulate the data (it is after all a set based language), or do you do this client side?
This is one of the issues about software that either updates from the web or requires authentications from the web. What happens when the servers go down or the version is no longer supported?
I had a slightly similar situation. I bought a cable (which included some software) a little while ago so that I could connect and sync the contacts in my phone and my palm pilot (via my laptop).
The default install of the software didn't sync with outlook, however if you did a web update (windows update style), it added in a connector.
Fast track to two years later when I reinstall. It turns out that the company that made the software has turned itself into something else and no longer supports the software. They have taken the server(s) down. Phone support from the makers of the phone, they have no more recent version of the software other than what shipped with the cable.
In your case I'd have just spent some time hunting for a crack for the software.
Interestingly though I do spend a fair bit of time in the windows CLI when I am at work.
A fair number of Microsoft's tools for managing.Net stuff are command line. regasm is the one I use most heavily. I also write some perl scripts for managing updates for the software I write. There is also ipconfig, ping and tracert. I also use a command line tool to synchronise directories.
I used to work for an Architectural firm. I still have some pretty close links to them.
They run Autodesk software.
1. AutoCAD support Are all of those CAD packages compatible with AutoCAD? I mean *really* compatible? AutoCAD is the standard. There are enough problems moving between Microstation and AutoCAD. The reason this is important is that they generate plans that are then provided to consultants who then modify them for their specific disipline (Structural, Mechanical etc).
This is a hugely important issue. More important than price. They are paying ~$6K AUD per desk for their lisences, but they would prefer to pay that and get AutoCAD compatability than to get free software that is not compatible.
2. Revit. You might not have heard of this. This is a new product from Autodesk. The architectural firm is an early adopter for this software. Effectively it is less a drafting tool, and more of a modelling tool. That is, you define parameters (eg wall type, height, length, surface etc) and it draws and renders it for you in 3D. In addition it can generate all your AutoCAD drawings for you to distribute to your consultants.
The time savings of using this software over AutoCAD are such that despite the fact that: - all new staff have to be trained in using it - machines to run it well cost ~$5K AUD - Licenses cost ~$5K AUD per desk
Using this software you can draw a building in 3D, show it to a client (complete with shadow diagrams etc in real time). You can spin it, zoom in and out, define fittings and fitout details.
I am in a similar situation to you. I run a windows desktop largely to play games. In fact you have listed half of the games I play. However I also live in a house with 3 other people. 2 of those 3 people have computers, but there is only one printer. They also share some files between them. I've set up a file server to enable you to access all the files from any one of the machines. This is convenient for more than just printing as the machines have a different software set.
I also have a work laptop as well as my desktop. I like to work on my files from both machines.
File server: - P3 400 + 128 Mb Ram (No HD, No CDROM) $40 - 80G Seagate drive $100 - OS, Debian $0 (prices in AUD from about a year ago)
I think I spent about 8 hours: - researching how to run samba - installing and configuring
YMMV, but I have found my file server worth many times the money I spent on it. FWIW it has never crashed.
The other option would be just to share the files from my desktop. There are several problems with this: 1. Noise. My desktop is in my room. I don't like to have it on while I sleep. 2. I can't take my desktop away for a LAN Party. 3. I can trash my desktop and not have any concerns. This include crashes due to games I am running. 4. I like to have dedicated machines that do one thing well. I'm not sure I want to have people adding load to my machine while I am playing CSS.
I think that depends on what your definition of fine is.
I find XP pretty annoying to use until I have gone through a series registry tweaks. This is over the top of anything offered by say TweakUI: 1. Turn of the stupid dog when trying to find files and folders 2. Turn off autoplay for CDs 3. Disable balloon tips from the system tray (I don't like being constantly notified that my wirelss connection has/hasn't got a connection) 4. Change the time server for the windows time service. 5. Edit the group policy to turn off autoplay for USB drives (OK not a registry hack, but similar).
This is just off the top of my head. I have been thinking of writing a script that I can run to clean up the standard windows XP environment to something more usable.
I'd echo with that. I have become a huge debian fan of late, and main reason for that is apt.
I already run a debain file server at home, and I am in the process of installing another one for my brother in law at the moment. I have plans to run a mailserver/webserver and a firewall box at home when I get the time to install it.
At work, I am part way through setting up a debian mail server, and I have plans to replace our windows DC with a debian Samba box. I should add we write software for windows. I just find Debian better for servers than windows. Better in a number of ways: 1. Cost 2. Licensing (as in I don't have to worry at all) 3. runs on cheaper hardware (which brings us back to cost)
For the most part installing software with debian is as simple as apt-get install . This includes installing something like X & KDE.
Well I am sick of Google never moving products out of Beta. Google has effectively redfined the use of the word beta. So, you can hardly complain when people disregard the word beta on a google release.
In the article the decline in movie quality is placed directly at the feet of the studios for producing poor quality movies. While this is a neat solution, there are other complications.
In addition to creating poor quality movies, the cinemas are facing serious competition. Not just from DVD/Home theater setups, but also from computer and console games. People today have more options as to how they spend their entertainment dollar.
I had a similar change in behaviour with GTA, but to the other extreme. Several times I found the game got a lot harder because a pedestrian would walk out in front of me, I'd nail him, and the cops would start chasing me.
I've seen you say this before. It doesn't square with my experience of GTA (VC & SA). To get a 1 star wanted rating, you need to kill ~5 pedestrians in pretty quick sucession, or sometimes just 1 while a policeman/police car is watching. However at a 1 star rating, the police only come after you with night sticks. So getting wasted is pretty unlikely, unless you start killing them when they come for you (which would push you to 2 stars). They don't chase you in cars at 1 star (or if they do, it is pretty unenthusiatic). They are generally also pretty easy to evade on foot (you can run faster, even if you do get out of breath).
Getting busted will only happen if your car is stopped close enough for them to be able to pull you out of the car. That was also pretty rare for me. The only times I was busted in that way was when I was on 4+ stars and had been boxed in.
What is more, a 1 star rating disappears after about 30 seconds.
My personal experience is that when I was driving in GTA, I used footpaths (sidewalks if you prefer) as much as the road. This had obvious the effect that I ran over quite a few people, but I don't recall ever being busted or wasted in this kind of situation. I would also suggest that people would be more likely to play GTA that way I do.
IRL, this means I have tended to eye the footpath as a shortcut. I know I have driven more aggresively as a result of playing GTA.
The main games I play: - Medieval total war - Rome Total War - Counter Strike Source - GTA: San Andreas - Battlefield 1942/Desert Combat
Other games I tend to play less, but still want to be able to play: - UT/UT2003/UT2004 (I know UT2004 runs on linux) - Red Alert (probably OK emulated) - GTA: Vice City
There are also a stack of older games I want to be able to run if I feel the need. I suppose they they might be able to be emulated also.
For the GTA series, don't suggest a console. I find consoles very difficult to use. I'm sorry, but they just aren't on my list of options.
To be quite honest, games are the only reason my home desktop still runs windows. I currently run a debian mailserver, my secondary desktop is currently running Suse (it was running debian earlier), and I have plans to put in a debain mail server. There are some windows apps I really like but I could live without them. The linux desktop has improved an awful lot, the apps and config tools are getting better and better. Games are the killer though.
It is also not a question of pointing to linux and saying, it runs @These_Games. I have particular games I want to play.
What is more, an emergency might not actually take out the power. Someone in an earlier thread mentioned mobile traffic being jammed after the London Bombings.
I don't think cookies should be out there at all," said Marc Rotenberg, executive director of the Electronic Privacy Information Center, an advocacy group based in Washington..
Without cookies most web applications will fail. While there are other methods to uniquely identify a session (hidden form input, querystring value), cookies remain the most effective.
I get a lot of crashes (10-20/day) using firefox. I suspect that the issue is the extensions I have installed. I haven't tested different configurations enough to find out whether this is the case though.
No. I want them to use anything other than Safari/KHTML. The javascript support is worse in Safari/KHTML than any other browser modernish except IE5 on Mac.
Sure, if you start playing with Javascript, you can get into a real mess, but I'd have felt that just means you should avoid Javascript.
Cross browser Javascript isn't too bad. I code a fair bit, and for 99.9% of the stuff do, I don't do any javascript that does browser detection/support, and using different operations for different browsers. This is using IE5+, Mozilla/Firefox, Opera 7+, Safari. The trick is to find the subset of javascript that works with all browsers.
It's not CSS' fault; it's the noncompliant browsers
When it comes to boots on the ground stuff it doesn't matter who is in the wrong. The only significant difference is that in the future browsers may be fixed to work with CSS better. But that doesn't change the fact that right now your CSS won't work.
What is more the effective lifetime of a browser is probably around 4 years. So we still need to support IE5 *now*. We probably still be supporting IE6 in 3-4 years from now. So the problems we have now will still be problems in 4 years.
Looking at the phone, I think iBrick might be a better name.
When you say client-side... are you thinking of networked applications, or just refering to the DBMS as a server and any apps using it as clients.
...
I mean that the DBMS is the server and the C/C++/$favourite_language is the client. I mean in the sense than anything that connects to the database is a client to the database.
I don't do much in the way of integrity consraints and cascades in SQL, and I really should make better use of such features.
Apart from that, I like to do as much as I can in C or similar.
This is a problem IMHO. The database does a better job of ensuring Referential Integrity (Foreign Keys, Primary Keys, etc), than we can do client side. This is not to say that we don't do client side checking, but integrity of your data is that important that you want to hand it off to something that does a specialises in this.
Equally, SQL is better for manipulating sets of data than procedural code. It is faster, and more flexible. I prefer to have the DBMS return the single dataset I want, rather than a collection that I stitch together.
I know that those features haven't always been available, but they are now. Databases have changed.
Thanks. I haven't has time to install and mess around with the pre-release versions. It would have been pretty braindead if they hadn't included a feature of this sort.
Starting to? What exactly do you mean?
As far as I can see, intel lost its edge over AMD during the race to 1Ghz back in the Athlon/P3 days.
I've been watching this race for a while and the only thing intel has produced that is was/is better than AMD has been the Pentium M, until the last 2 years, the xeon. If I have missed something, please do point it out to me. Since that release of the Athlon, for the desktop and now the server, AMD has consistentently produced, better cheaper CPUs that intel.
As far as I can see, the only advantage that intel has over AMD is manufacturing capacity.
One brief opening comment, as far as I am aware LIMIT is not part of the SQL standard (I haven't checked the more recent standards). This is also a feature I have personally requested for the new release of SQL Server. As I am some random guy off the web, I don't imagine that that holds any weight with Microsoft.
There are a number of solutions to this problem, unfortunately I would characterise most of them as hacks.
1. Your first option is to write a mess of dynamic SQL. The only thing SQL Server has that is close to this is TOP. To make life just that little bit easier, TOP does not allow you to limit by a variable, hence the dynamic SQL. Effectively you write something like this. I've written this off the top of my head, so it is probably wrong:
DECLARE @Start Int, @End
SELECT @Start = 10, @End = 20
DECLARE @SQL VarChar(8000)
SET @SQL = 'SELECT TOP ' + CAST((@End - @Start) AS VarChar(100) + ' MyID FROM (SELECT TOP ' + CAST(@End AS VarChar(100) + ' MyID FROM MyTable ORDER BY MyID DESC) ORDER BY MyID ASC'
EXEC(@SQL)
Yuck. Dynamic SQL is teh suck.
2. You next, better option is to use a temp table. Something like this:
DECLARE @Start Int, @End
SELECT @Start = 10, @End = 20
CREATE TABLE #IDs
(
RowNum Int Identity,
MyID Int
)
INSERT INTO #IDs
SELECT MyID
FROM MyTable
ORDER BY MyID DESC
SELECT *
FROM #IDs
WHERE RoNum BETWEEN @Start AND @End
DROP TABLE #IDs
This is a cleaner solution, but obviously not a reasonable option if the table gets large.
3. The last option is one I've never really liked, so I can't explain it as well. From what I recall, it is a half-solution, where you use ROWCOUNT to limit the reaults returned. I'd have to hunt down an article on the subject.
Summary: so there is no nice, clean, neat way to do this I am afraid. Someone else has suggested that you use a cursor. Ignore that advice. There is very, very, very rarely excuse to ever use a cursor on set oriented data.
I think I have access to a beta of Yukon so I'm not sure if they have offered a comparable feature to LIMIT. I darn well hope they have.
As a matter of interest, does this mean that you leave RI out of the hands of the database? Do you use SQL to manipulate the data (it is after all a set based language), or do you do this client side?
This is one of the issues about software that either updates from the web or requires authentications from the web. What happens when the servers go down or the version is no longer supported?
I had a slightly similar situation. I bought a cable (which included some software) a little while ago so that I could connect and sync the contacts in my phone and my palm pilot (via my laptop).
The default install of the software didn't sync with outlook, however if you did a web update (windows update style), it added in a connector.
Fast track to two years later when I reinstall. It turns out that the company that made the software has turned itself into something else and no longer supports the software. They have taken the server(s) down. Phone support from the makers of the phone, they have no more recent version of the software other than what shipped with the cable.
In your case I'd have just spent some time hunting for a crack for the software.
Sure.
.Net stuff are command line. regasm is the one I use most heavily. I also write some perl scripts for managing updates for the software I write. There is also ipconfig, ping and tracert. I also use a command line tool to synchronise directories.
Interestingly though I do spend a fair bit of time in the windows CLI when I am at work.
A fair number of Microsoft's tools for managing
OK I'll bite.
I used to work for an Architectural firm. I still have some pretty close links to them.
They run Autodesk software.
1. AutoCAD support
Are all of those CAD packages compatible with AutoCAD? I mean *really* compatible? AutoCAD is the standard. There are enough problems moving between Microstation and AutoCAD. The reason this is important is that they generate plans that are then provided to consultants who then modify them for their specific disipline (Structural, Mechanical etc).
This is a hugely important issue. More important than price. They are paying ~$6K AUD per desk for their lisences, but they would prefer to pay that and get AutoCAD compatability than to get free software that is not compatible.
2. Revit.
You might not have heard of this. This is a new product from Autodesk. The architectural firm is an early adopter for this software. Effectively it is less a drafting tool, and more of a modelling tool. That is, you define parameters (eg wall type, height, length, surface etc) and it draws and renders it for you in 3D. In addition it can generate all your AutoCAD drawings for you to distribute to your consultants.
The time savings of using this software over AutoCAD are such that despite the fact that:
- all new staff have to be trained in using it
- machines to run it well cost ~$5K AUD
- Licenses cost ~$5K AUD per desk
Using this software you can draw a building in 3D, show it to a client (complete with shadow diagrams etc in real time). You can spin it, zoom in and out, define fittings and fitout details.
So does Linux offer a similar package?
I'll give you one:
servers.
I am in a similar situation to you. I run a windows desktop largely to play games. In fact you have listed half of the games I play. However I also live in a house with 3 other people. 2 of those 3 people have computers, but there is only one printer. They also share some files between them. I've set up a file server to enable you to access all the files from any one of the machines. This is convenient for more than just printing as the machines have a different software set.
I also have a work laptop as well as my desktop. I like to work on my files from both machines.
File server:
- P3 400 + 128 Mb Ram (No HD, No CDROM) $40
- 80G Seagate drive $100
- OS, Debian $0
(prices in AUD from about a year ago)
I think I spent about 8 hours:
- researching how to run samba
- installing and configuring
YMMV, but I have found my file server worth many times the money I spent on it. FWIW it has never crashed.
The other option would be just to share the files from my desktop. There are several problems with this:
1. Noise. My desktop is in my room. I don't like to have it on while I sleep.
2. I can't take my desktop away for a LAN Party.
3. I can trash my desktop and not have any concerns. This include crashes due to games I am running.
4. I like to have dedicated machines that do one thing well. I'm not sure I want to have people adding load to my machine while I am playing CSS.
I think that depends on what your definition of fine is.
I find XP pretty annoying to use until I have gone through a series registry tweaks. This is over the top of anything offered by say TweakUI:
1. Turn of the stupid dog when trying to find files and folders
2. Turn off autoplay for CDs
3. Disable balloon tips from the system tray (I don't like being constantly notified that my wirelss connection has/hasn't got a connection)
4. Change the time server for the windows time service.
5. Edit the group policy to turn off autoplay for USB drives (OK not a registry hack, but similar).
This is just off the top of my head. I have been thinking of writing a script that I can run to clean up the standard windows XP environment to something more usable.
I'd echo with that. I have become a huge debian fan of late, and main reason for that is apt.
I already run a debain file server at home, and I am in the process of installing another one for my brother in law at the moment. I have plans to run a mailserver/webserver and a firewall box at home when I get the time to install it.
At work, I am part way through setting up a debian mail server, and I have plans to replace our windows DC with a debian Samba box. I should add we write software for windows. I just find Debian better for servers than windows. Better in a number of ways:
1. Cost
2. Licensing (as in I don't have to worry at all)
3. runs on cheaper hardware (which brings us back to cost)
For the most part installing software with debian is as simple as apt-get install . This includes installing something like X & KDE.
Well I am sick of Google never moving products out of Beta. Google has effectively redfined the use of the word beta. So, you can hardly complain when people disregard the word beta on a google release.
I think we need to generalise further. I think we can bring this down to one simple generalisation:
Stuff appears on a screen.
In the article the decline in movie quality is placed directly at the feet of the studios for producing poor quality movies. While this is a neat solution, there are other complications.
In addition to creating poor quality movies, the cinemas are facing serious competition. Not just from DVD/Home theater setups, but also from computer and console games. People today have more options as to how they spend their entertainment dollar.
What a waste. They make great drinks coasters.
I had a similar change in behaviour with GTA, but to the other extreme. Several times I found the game got a lot harder because a pedestrian would walk out in front of me, I'd nail him, and the cops would start chasing me.
I've seen you say this before. It doesn't square with my experience of GTA (VC & SA). To get a 1 star wanted rating, you need to kill ~5 pedestrians in pretty quick sucession, or sometimes just 1 while a policeman/police car is watching. However at a 1 star rating, the police only come after you with night sticks. So getting wasted is pretty unlikely, unless you start killing them when they come for you (which would push you to 2 stars). They don't chase you in cars at 1 star (or if they do, it is pretty unenthusiatic). They are generally also pretty easy to evade on foot (you can run faster, even if you do get out of breath).
Getting busted will only happen if your car is stopped close enough for them to be able to pull you out of the car. That was also pretty rare for me. The only times I was busted in that way was when I was on 4+ stars and had been boxed in.
What is more, a 1 star rating disappears after about 30 seconds.
My personal experience is that when I was driving in GTA, I used footpaths (sidewalks if you prefer) as much as the road. This had obvious the effect that I ran over quite a few people, but I don't recall ever being busted or wasted in this kind of situation. I would also suggest that people would be more likely to play GTA that way I do.
IRL, this means I have tended to eye the footpath as a shortcut. I know I have driven more aggresively as a result of playing GTA.
The main games I play:
- Medieval total war
- Rome Total War
- Counter Strike Source
- GTA: San Andreas
- Battlefield 1942/Desert Combat
Other games I tend to play less, but still want to be able to play:
- UT/UT2003/UT2004 (I know UT2004 runs on linux)
- Red Alert (probably OK emulated)
- GTA: Vice City
There are also a stack of older games I want to be able to run if I feel the need. I suppose they they might be able to be emulated also.
For the GTA series, don't suggest a console. I find consoles very difficult to use. I'm sorry, but they just aren't on my list of options.
To be quite honest, games are the only reason my home desktop still runs windows. I currently run a debian mailserver, my secondary desktop is currently running Suse (it was running debian earlier), and I have plans to put in a debain mail server. There are some windows apps I really like but I could live without them. The linux desktop has improved an awful lot, the apps and config tools are getting better and better. Games are the killer though.
It is also not a question of pointing to linux and saying, it runs @These_Games. I have particular games I want to play.
What is more, an emergency might not actually take out the power. Someone in an earlier thread mentioned mobile traffic being jammed after the London Bombings.
Our chicks are much hotter, though.
Sheep != Chick.
I don't think cookies should be out there at all," said Marc Rotenberg, executive director of the Electronic Privacy Information Center, an advocacy group based in Washington..
Without cookies most web applications will fail. While there are other methods to uniquely identify a session (hidden form input, querystring value), cookies remain the most effective.
I get a lot of crashes (10-20/day) using firefox. I suspect that the issue is the extensions I have installed. I haven't tested different configurations enough to find out whether this is the case though.
No. I want them to use anything other than Safari/KHTML. The javascript support is worse in Safari/KHTML than any other browser modernish except IE5 on Mac.
Sure, if you start playing with Javascript, you can get into a real mess, but I'd have felt that just means you should avoid Javascript.
Cross browser Javascript isn't too bad. I code a fair bit, and for 99.9% of the stuff do, I don't do any javascript that does browser detection/support, and using different operations for different browsers. This is using IE5+, Mozilla/Firefox, Opera 7+, Safari. The trick is to find the subset of javascript that works with all browsers.
It's not CSS' fault; it's the noncompliant browsers
When it comes to boots on the ground stuff it doesn't matter who is in the wrong. The only significant difference is that in the future browsers may be fixed to work with CSS better. But that doesn't change the fact that right now your CSS won't work.
What is more the effective lifetime of a browser is probably around 4 years. So we still need to support IE5 *now*. We probably still be supporting IE6 in 3-4 years from now. So the problems we have now will still be problems in 4 years.