I don't agree with most of your comments, but I'm thinking about the over-budgeting thing.
The problem with NASA is that they want to do EVERYTHING from scratch.
New mission? New platform. New launch platform? new. New rover on Mars? Rebuild
Ares/Constellation. Money sink. Rebuild, rebuild, rebuild! And really, ARES looked like it suffered from NIH syndrome (maybe it should be called 'not invented by us syndrome'). And absolutely underwhelming.
Risk and cost goes up, payoff goes down.
Really, NASA should do a sattelite platform, an orbiter/flyby platform, a rover platform, and give the launch money to SpaceX. (Or Boeing/Lockheed).
Also, they should put money on BPP (http://www.grc.nasa.gov/WWW/bpp/) maybe with missions designed specifically for things like the flyby anomaly, the Pioneer anomaly, etc. It's the only thing that, with research, can get us out of the planet without strapping people to a million pounds of explosives.
Note that all the problems I mentioned are specific issues I found with Fedora 14
There you have config files in var
Being outside of etc is not a showstopper, but strange to say the least.
The issue with MD5 passwords is that in Ubuntu, for example, you have "the magical line": local all postgres ident
Whereas in F14 (no line present) if you try to change it, to use MD5, for local connections, you can't (because you'll set a 'ident' password, switch to md5 and it stops working) So either you set it for tcp only or you configure it like Ubuntu (took me a while to figure this). Anyway it makes you set the config file one way, do something then change it again.
Anyway, I've found PGSQL more difficult overall than MYSQL for most admin operations (and no, I have very little experience with both, maybe it's the docs, but pgsql seems to be 'more picky' especially with the sql syntax (where you have to use quotes or double quotes accordingly), but I have to say that Pgadmin ROCKS
For example, select * from table where field=blah works with single quotes and double quoeta in MySQL but only with single quotes in PostgreSQL (Also, I don't get dt instead of show tables)
And yes, I've been bitten by MySQL table types as well.
The way I see it, PostgreSQL is a great SQL Database. If you need SQL features, if you'll use every nook and cranny of the SQL spec go for it. If you're a bank for example.
MySQL is a great 'thing that stores data' that presents a basic SQL interface. But it's ok, I'm not writing SQL by hand, I'm using an ORM. I don't need all the security features, the ORM supports only one user. The ORM optimizes the queries. It's not going to be very fast, but that's ok. And in this case it's better to move the 'intelligence' outside of the DB.
Industrial design is 50% 'geek', 50% art. Steve Jobs knew electronics as well (learning it by himself), but dropped out quickly from college.
Again, it's about specific people, not their degree. You also have geeks who completely ran a product to the ground, like Craig Barret buying the megahertz myth, Mike Markulla with Apple III, Google Wave, etc, etc
One thing to remember is that first iPods used firewire in the age of USB 1.0. Also, tiny hard disks with lots of space, and the clickwheel was also an interesting innovation.
Also, AAC and iTunes would rip to AAC (better quality and less space than MP3, also much better than WMA that all others went to it). Personal note: I can't stand WMA, at 128kbps (to me) it sounds worse than MP3. But it may just be me, or the type of music I listen to.
I've worked with several embedded software platforms, both with and without an OS, both with a C compiler and without a C compiler available. So, yeah, I guess I know what I'm talking about.
Game programming for console systems requires an extremely high familiarity with the hardware, patches are usually out of the question so you need to get it right the first time, and are often built from the ground up. In many ways it is significantly harder to develop for a restricted platform than on the desktop
Of course I know that. But the hardware and environment is the same always (unless of course you switch platforms). All SNESs are very similar.
It is hard, but once you get it right, it's done. And you know the hardware, and you know its limitations, and you don't have an OS to 'get in the way'. DOS programming was almost like that.
And it's obvious you haven't read the Mythical Man Month. Or understand agile.
Creating a product is much more than creating the circuits (and you can certainly buy an OEM mp3 player and change the sw if you want and sell it as your brand - done by geeks, of course)
That's what geeks don't get and then they are amazed as why the iPod sells much more than the others (and before you say 'marketing' remember how much money MS put in marketing Zune). And to be honest, the 'mp3 player' I bought that played OGG files was so riddled with bugs it was not even funny.
I've worked on a lot of projects here in Japan and I can tell you with absolute confidence you are wrong. Most console games are developed under a Waterfall model for example. A lot of embedded software as well. The Waterfall model works if you have developers who actually implement according to the designs and do it well.
Except you just proved me right.
Games: 20% code, 80% art. And that's true even for the first Super Mario games. And game engines are reused often. Fixed platform (same thing for embedded sw). Working in a restricted platform is much easier in some aspects than, for example, a desktop program.
Reading the Mythical Man Month may explain it better.
The Waterfall works in getting products to market. I'm convinced this has a big part to do with social and developer culture in Japan.
Perhaps another factor is how the Waterfall model is implemented here. We have planners for example - they do all the planning and they deal with inconsistencies that arise during implementation. Planner work -under- designers, but planners work -for- programmers. Furthermore, the Waterfall model is just used for the core application - peripheral features and post-release enhancements [kakuchou - kaizen] are rarely handled using the Waterfall model. In addition the implementation step is usually broken up between departments with a set of joining critical-passes - basically becoming a separate process in and of itself.
That's very interesting. Yes, for core features Waterfall works better.
Yes and no. There is ANSI SQL. PostgreSQL is probably one of the more compliant databases and is by far one of the more portable solutions. But even that is iffy.
MySQL is on the other end. MySQL is well known for being non-compliant, teaching very poor SQL code, offering minimal SQL compatibility and lowest common denominator features to achieve the same goal.
Except writing SQL manually with pgsql is painful. MySQL accepts most everything you throw at it (I'm not talking about writing that in programming, but opening psql or mysql and writing a query.
And don't get me started on '\dt;'
Configuring mysql is also much easier (especially on Fedora, so it may be not the fault of pgsql). Insecure? Not necessarily. (And they both fundamentally suck on pw and account management, so no one is better in that sense).
That's also why, contrary to the lies and marketing hype, MySQL is almost always one of the slowest and least scalable solutions of any generally available SQL RDBMS.
Out of the box, Mysql is faster in some situations. Maybe it has to do with the ORM or default distro configuration. But it may be faster sometimes (see other posts here on this discussion). But still, even Jacob Kaplan-Moss recommends Postgres for Django.
Generally speaking, if you think MySQL is a good solution, there is almost always a better solution available. Far too often, vast ignorance, huge ego, and massive pride prevent people from considering alternative database solutions and their ignorance of the domain allows them to quickly become self assured they've picked a winner.
It is a good enough solution considering time/implementation effort/performance and relevance to that to the overall solution. You can use PGSQL but if you still have SQL injection problems.
You can work around MySQL performance with caching and other techniques. Merely switching to Postgres won't get you the performance gains you need.
I'm sorry, but unless you're positive your project is a toy project and will always remain so, it is extremely unlikely MySQL can be justified for a project. Bluntly, for the vast, vast majority, MySQL is the choice of the uneducated and ignorant. And as a rule of thumb, simply picking any other solution than MySQL means you are in fact, better than the next would-be MySQL user.
Tell that to Facebook. Tell that to all the corporate portals using Wordpress (yes they should do a PSQL version). Most projects are not a contest of who knows the most details of SQL specs.
- a very clear definition of the problem, hence, the problem shouldn't be too big (think a Wordpad sized project) - a very thorough knowledge of the technology and its limitations (project that works in several web browsers? forget it) - almost no variation in deployment and use conditions
You don't do uP architecture except with top notch engineers (Intel does that in the USA and Israel) You can't outsource their next chipset, or drivers
Yes, they outsource the pointy-clicky stuff
Oh, by the way, Craig Barret, ex CEO of Intel, "TECH GUY" was a GOD SEND to AMD, since it spent so much time of Intel on the Megahertz 'fight' bs whereas AMD was selling processors that ran with 1GHz and that wiped the floor with Pentium 4s
It was pushed by Redhat and nobody else had a better solution to clean up the morass that is linux audio.
What problems exactly? Are users crying for a solution? Does Android uses Pulseaudio?
Per-app volume control? Most apps offer a volume control and btw, I'm not DJing by starting several players at the same time.
Funny how the first thing I HAVE to do is disable pulseaudio, otherwise things will break, lag, hang, etc, etc.
Pulseaudio is an utter and complete failure, and then people wonder why there aren't many users of Linux
NASA could use some new RTGs
Medical isotopes are in need as well. Maybe they can come with a small power plant or some process that uses the nuclear material
I don't agree with most of your comments, but I'm thinking about the over-budgeting thing.
The problem with NASA is that they want to do EVERYTHING from scratch.
New mission? New platform. New launch platform? new. New rover on Mars? Rebuild
Ares/Constellation. Money sink. Rebuild, rebuild, rebuild! And really, ARES looked like it suffered from NIH syndrome (maybe it should be called 'not invented by us syndrome'). And absolutely underwhelming.
Risk and cost goes up, payoff goes down.
Really, NASA should do a sattelite platform, an orbiter/flyby platform, a rover platform, and give the launch money to SpaceX. (Or Boeing/Lockheed).
Also, they should put money on BPP (http://www.grc.nasa.gov/WWW/bpp/) maybe with missions designed specifically for things like the flyby anomaly, the Pioneer anomaly, etc. It's the only thing that, with research, can get us out of the planet without strapping people to a million pounds of explosives.
Why would you bother configuring Blackberry email forwarding if you can have an IMAP client?
MAPI > IMAP in the enterprise. Why would any business user choose only email vs email/calendar/contacts/notes/etc?
You're right I forgot about that. But iPhone syncs with Exchange. Android too, apparently out of the box.
MAPI is good if you have an exchange environment, and bad for everything else. Of course Outlook only syncs with MAPI properly.
You're thinking exactly like RIM, and that's why they're going down the drain.
The basic notions that made Blackberry great from the beginning are still valid today
Absolutely not. Several things changed in smartphones and carriers and IT.
Why would you bother configuring Blackberry email forwarding if you can have an IMAP client?
Especially, why would you pay to only have what blackberry offers? And why only sell to corporations?
You can have a stripped down version of your phone for the tin-hat crowd, no problem there, but evolve!
If I was lucky I could type in some buggy code from a magazine and try to get it to run.
Yes, those young whippersnappers have it easy.
There were programs and programs in Basic in magazines. If you were lucky it was 100% basic so you could change or fix bugs.
But sometimes you would have something like this
10 DATA AA C7 D5 AB CF 90 A0 FF
several lines like that, and those sometimes didn't work...
Or you would have a huge listing HEX on the left and assembler on the right. Type it and run the program
You're trolling, but you have a point
You can maybe install an old distro (probably will only work in QEMU or something), with KDE 1 or 2
Or just install WindowMaker, or IceWM
Or ratpoison if you're feeling inspired.
Above a certain level, no one is fired or resigns, everybody leaves "in mutual agreement"
Of course, the juicy details are left to the reader to imagine.
Great answer, thanks
Note that all the problems I mentioned are specific issues I found with Fedora 14
There you have config files in var
Being outside of etc is not a showstopper, but strange to say the least.
The issue with MD5 passwords is that in Ubuntu, for example, you have "the magical line":
local all postgres ident
Whereas in F14 (no line present) if you try to change it, to use MD5, for local connections, you can't (because you'll set a 'ident' password, switch to md5 and it stops working) So either you set it for tcp only or you configure it like Ubuntu (took me a while to figure this). Anyway it makes you set the config file one way, do something then change it again.
Anyway, I've found PGSQL more difficult overall than MYSQL for most admin operations (and no, I have very little experience with both, maybe it's the docs, but pgsql seems to be 'more picky' especially with the sql syntax (where you have to use quotes or double quotes accordingly), but I have to say that Pgadmin ROCKS
For example, select * from table where field=blah works with single quotes and double quoeta in MySQL but only with single quotes in PostgreSQL (Also, I don't get dt instead of show tables)
And yes, I've been bitten by MySQL table types as well.
The way I see it, PostgreSQL is a great SQL Database. If you need SQL features, if you'll use every nook and cranny of the SQL spec go for it. If you're a bank for example.
MySQL is a great 'thing that stores data' that presents a basic SQL interface. But it's ok, I'm not writing SQL by hand, I'm using an ORM. I don't need all the security features, the ORM supports only one user. The ORM optimizes the queries. It's not going to be very fast, but that's ok. And in this case it's better to move the 'intelligence' outside of the DB.
How about trying to run initdb after a reinstall and it gives 'FAILED' without explanation?
How about config files outside of etc?
How about properly configuring it to use MD5 passwords?
Bad examples.
Industrial design is 50% 'geek', 50% art. Steve Jobs knew electronics as well (learning it by himself), but dropped out quickly from college.
Again, it's about specific people, not their degree. You also have geeks who completely ran a product to the ground, like Craig Barret buying the megahertz myth, Mike Markulla with Apple III, Google Wave, etc, etc
One thing to remember is that first iPods used firewire in the age of USB 1.0. Also, tiny hard disks with lots of space, and the clickwheel was also an interesting innovation.
Also, AAC and iTunes would rip to AAC (better quality and less space than MP3, also much better than WMA that all others went to it). Personal note: I can't stand WMA, at 128kbps (to me) it sounds worse than MP3. But it may just be me, or the type of music I listen to.
I've worked with several embedded software platforms, both with and without an OS, both with a C compiler and without a C compiler available. So, yeah, I guess I know what I'm talking about.
Game programming for console systems requires an extremely high familiarity with the hardware, patches are usually out of the question so you need to get it right the first time, and are often built from the ground up. In many ways it is significantly harder to develop for a restricted platform than on the desktop
Of course I know that. But the hardware and environment is the same always (unless of course you switch platforms). All SNESs are very similar.
It is hard, but once you get it right, it's done. And you know the hardware, and you know its limitations, and you don't have an OS to 'get in the way'. DOS programming was almost like that.
And it's obvious you haven't read the Mythical Man Month. Or understand agile.
I'm sure now the PSN was done in a waterfall way.
Creating a product is much more than creating the circuits (and you can certainly buy an OEM mp3 player and change the sw if you want and sell it as your brand - done by geeks, of course)
That's what geeks don't get and then they are amazed as why the iPod sells much more than the others (and before you say 'marketing' remember how much money MS put in marketing Zune). And to be honest, the 'mp3 player' I bought that played OGG files was so riddled with bugs it was not even funny.
But with the person, his/her creativity, technical vision, soft skills, etc
"If you can measure you can manage" is something a geek could say. And many say it and do it (with other words, and in similar situations)
In a related note, both Bill Gates and Ray Ozzie are geeks.
Geeks created all those mp3 players that were forgotten in favor of iPod.
I've worked on a lot of projects here in Japan and I can tell you with absolute confidence you are wrong. Most console games are developed under a Waterfall model for example. A lot of embedded software as well. The Waterfall model works if you have developers who actually implement according to the designs and do it well.
Except you just proved me right.
Games: 20% code, 80% art. And that's true even for the first Super Mario games. And game engines are reused often.
Fixed platform (same thing for embedded sw). Working in a restricted platform is much easier in some aspects than, for example, a desktop program.
Reading the Mythical Man Month may explain it better.
The Waterfall works in getting products to market. I'm convinced this has a big part to do with social and developer culture in Japan.
Perhaps another factor is how the Waterfall model is implemented here. We have planners for example - they do all the planning and they deal with inconsistencies that arise during implementation. Planner work -under- designers, but planners work -for- programmers. Furthermore, the Waterfall model is just used for the core application - peripheral features and post-release enhancements [kakuchou - kaizen] are rarely handled using the Waterfall model. In addition the implementation step is usually broken up between departments with a set of joining critical-passes - basically becoming a separate process in and of itself.
That's very interesting. Yes, for core features Waterfall works better.
Yes and no. There is ANSI SQL. PostgreSQL is probably one of the more compliant databases and is by far one of the more portable solutions. But even that is iffy.
MySQL is on the other end. MySQL is well known for being non-compliant, teaching very poor SQL code, offering minimal SQL compatibility and lowest common denominator features to achieve the same goal.
Except writing SQL manually with pgsql is painful. MySQL accepts most everything you throw at it (I'm not talking about writing that in programming, but opening psql or mysql and writing a query.
And don't get me started on '\dt;'
Configuring mysql is also much easier (especially on Fedora, so it may be not the fault of pgsql). Insecure? Not necessarily. (And they both fundamentally suck on pw and account management, so no one is better in that sense).
That's also why, contrary to the lies and marketing hype, MySQL is almost always one of the slowest and least scalable solutions of any generally available SQL RDBMS.
Out of the box, Mysql is faster in some situations. Maybe it has to do with the ORM or default distro configuration. But it may be faster sometimes (see other posts here on this discussion). But still, even Jacob Kaplan-Moss recommends Postgres for Django.
Generally speaking, if you think MySQL is a good solution, there is almost always a better solution available. Far too often, vast ignorance, huge ego, and massive pride prevent people from considering alternative database solutions and their ignorance of the domain allows them to quickly become self assured they've picked a winner.
It is a good enough solution considering time/implementation effort/performance and relevance to that to the overall solution. You can use PGSQL but if you still have SQL injection problems.
You can work around MySQL performance with caching and other techniques. Merely switching to Postgres won't get you the performance gains you need.
I'm sorry, but unless you're positive your project is a toy project and will always remain so, it is extremely unlikely MySQL can be justified for a project. Bluntly, for the vast, vast majority, MySQL is the choice of the uneducated and ignorant. And as a rule of thumb, simply picking any other solution than MySQL means you are in fact, better than the next would-be MySQL user.
Tell that to Facebook. Tell that to all the corporate portals using Wordpress (yes they should do a PSQL version).
Most projects are not a contest of who knows the most details of SQL specs.
You're 100% right.
Talking about 'enterprise helpdesk systems', I had the displeasure of using one that made Clearcase look like the best sw in the world.
What the government should do is sue all the contractors. Return the software and ask for damages. Lawyers are good at coming with bullshit numbers.
Sue them for 100x the value they got from the gov.
It happens with other corporate crap, like ClearCase.
If ClearCrap wasn't crap google would use it, simple as that.
Waterfall works if you have:
- a very clear definition of the problem, hence, the problem shouldn't be too big (think a Wordpad sized project)
- a very thorough knowledge of the technology and its limitations (project that works in several web browsers? forget it)
- almost no variation in deployment and use conditions
Not many projects fall under those categories
Makes sense
Even if in the case of "Prabu", while easier to say, it's difficult to register casually.
I'm sure it's easier to remember a Robert or Ann instead of Asiburiutoru
EXACTLY, thank you
"manufacture" is the easy part.
This is naive at best
You don't do uP architecture except with top notch engineers (Intel does that in the USA and Israel)
You can't outsource their next chipset, or drivers
Yes, they outsource the pointy-clicky stuff
Oh, by the way, Craig Barret, ex CEO of Intel, "TECH GUY" was a GOD SEND to AMD, since it spent so much time of Intel on the Megahertz 'fight' bs whereas AMD was selling processors that ran with 1GHz and that wiped the floor with Pentium 4s
No
Google, Intel, may have Indian sites, but it's mostly the basic stuff
Of course Intel and Google do 'real work' outside of the USA, but there's still a big tech corpus in the USA