It sounds like your framework still yields a very page-oriented development style.
I'd be interested in looking under the covers at what you have, but after working with struts, xml->xslt->browser consumable language, and back in the day plain old servlet/jsp, I've grown weary of page-oriented development of webapps.
I've recently built a smallish system using tapestry and have been amazed at the boost in productivity it gives me. I also used hibernate in the same project and found it gave a similar boost. Much less fussing with SQL for pretty standard stuff that is easy for the framework to optimize in the general case.
Comparing this system to another I built about 4 months ago of similar complexity, the tapestry + hibernate combination saved me 1/3 the overall code and configuration lines. If I compare just the stuff related to putting pages up, taking user input, and working with the db, it saved me 1/2 the overall code and configuration lines. Pretty amazing!
No, law prevents credit card fraud from ruining people's lives.
Discover and Visa are simply looking out for their own financial losses. The quicker they stem the fraudulent use, the less they have to pay out to cover it.
I installed audiofile through fink which includes sfconvert - I use it to conver the aiff big-endian format to wav, then I flac the wav. It doesn't work as a stream, though, which is somewhat annoying.
Are you submitting patches back to the flac project for support of the aiff files?
Why not stream the music off your server in another format? I actually maintain a 160Kbit/s ABR lame mirror of my flac repository through some scripting. I just use those over filesharing. You could also just setup a streaming server that converts flac to mp3 in realtime.
I'd like to see your scripts if you feel like posting them.
I wholeheartedly agree with you. I'd like to keep the speed and only have new features activated if they are worthwhile to me.
I'm more likely to want to use an app to build a cut list and then drop the GUI and use command line tools to render/transcode/burn my video. A candied-up UI to handhold me ends up constraining what I can produce.
I can definitely see your point of view. Progress does need to be made.
I think we're all inclined to complain about things we don't necessarily want, but I don't think I'm any more so inclined than anyone else.
With respect to Windows 3.1 -> XP. As another poster mentioned, you're not using KDE to admin the machine, whereas that's where I personally see a lot of change in Windows - the interface with regards to administration of the machine.
Where I (and some of my users - not nearly as technical as me) see change is partly in how everything looks. The widgets have changed a lot over the last two years. To less technical users that is a barrier - you and I might blow it off, but it can be an issue. Once you spend some more time, there are more things that have changed for what I can see as little reason - maybe someone's idea of organization changed over the years and so all of a sudden, things move around on control center.
As I've upgraded from KDE 3 -> 3.1 -> 3.2 -> 3.3, I've noticed that many times my settings get lost and it's not so easy to go re-establish them. Things like keyboard shortcuts, mouse onClick behaviors for the various buttons have moved around. Heck, at one release the Control Center started taking on different forms depending on whether I selected it from the menu or selected it off the "dock" (can't remember KDE terminology).
Am I opposed to exploring for 15 minutes to use it? No, certainly not - but when I use it so little, I am more accustomed to metaphors of other desktop environments, and using KDE 6-8 times per month becomes a chore - again - it's been easier to just use XFCE.
I'll probably get modded down for this, but my forays into KDE use have been separated by 6 months at a time. It seems the KDE team is emulating Microsoft's penchant for changing how major features of the interface work at frequent intervals.
I see lots of people complaining that each time Windows is updated they have to relearn the GUI, but honestly the same is true with KDE.
I'm not primarily a Windows user - I mostly use Mac OS X these days, but because of the amount of change that happens in KDE, I find it more trouble than it's worth and have begun to just stick with XFCE when I'm working on my Linux boxes.
It would be nice to see some consistency between major releases of KDE so that configurable items are still found in the same place when you upgrade, etc.
This looks like it would be great for the audio out of my laptop for mythtv. I can't figure out if there's a linux driver for it, though. Do you happen to know?
From my read of TFA this doesn't look like it was challenged based on the issue of fair use, but rather, based on its detriment to citizens in the form of higher prices for equipment and content.
What? Why not tackle this for its effect on fair use?
I've not tried this... but, make a shell script to unload the original extension and load the new extension, then put it in your startup items.
I'm not sure if shell scripts can be placed in your startup items. If not, get XCode 1.5 and make an AppleScript application to call the shell script that does the work. Put the AppleScript Application in your startup items.
From what I've read, also be careful of touching the pad while this activity is happening, or you could panic the kernel.
Being a Mac OS X, Linux, and FreeBSD user, I want for decent trip planning solutions - unfortunately, I haven't found any.
Adding waypoint support to web-based trip planning software has been high on my list for all of the available services, so I was excited to see this listed for maps.google.com.
Unfortunately, I can't find how to do this even after perusing their help.
I believe OSS can manufacture wealth in the manner you describe - by making the delivery of services and products a more productive activity through smarter/better/more effective tools.
I guess why I used artificial is it seems counter-intuitive until you realize the gains possible. You're giving your employees' productivity away, but in the end, if everyone is doing that, all projects start off closer to completion because of the value of OSS technologies you can make use of.
The analogy I have heard used equates OSS to the construction industry.
OSS can artificially manufacture more wealth in the long-term, much like the stock-market does.
Think of using (and in turn contributing back to) OSS tools like getting free hammers and nails so long as you help improve the design of hammers, nails, and other industry standard tools you use for free. Within the context of using those tools to build things, general practitioners are going to come up with gripes and improvements. I think the same holds true of using OSS tools for building proprietary software.
My group in a company I used to work for submitted patches back to Jakarta Digester to handle some functionality we needed. It was much more valuable to us to have that get accepted and made part of the product than it did to maintain an internal patchset against the product.
I don't feel a need to go into details about the systems I've built, but if you build systems intelligently, many times you do not need more than ANSI SQL 92. Sure, there are times to use other features, and I have done that as well, but many times portability is more important on my projects than raw throughput on a specific database. Your assumptions that 1) eeking every bit of performance is more important than portability and 2) that I actually paid a wad of cash for Oracle are both wrong. They may hold true of your situation, but not mine.
With respect to Oracle auto-indexing. If it's not auto-indexing, I don't know what it's doing - storing column tuples in memory for future queries? I can perform queries against PostgreSQL using the same schema and indeces, and return results in 15 minutes or so. Oracle is subsecond. Adding a well-placed index for the query will reduce PostgreSQL's query time to subsecond as well. Oracle's first query runs in the 10 minute range, but magically, thereafter, it's subsecond. Automatically indexing may not be the right term, but it is doing something to improve performance where there's a physical data model problem that otherwise prevents it.
PostgreSQL 7.4 for the mostpart* works fine on Mac OS X. In terms of installation, I do it with fink. I'm not sure when a PostgreSQL 8.0 source package will be available for fink, but hopefully not too long.
*If you want to support more connections or more shared memory per connection, you need to set your sysv shm settings in/etc/rc something similar to FreeBSD 5's defaults and then reboot. They are set once on boot and cannot be changed with sysctl after they are first set.
I'll preface this with stating that I generally stick to ANSI SQL 92 and limit my use of database features to that.
From that perspective, PostgreSQL performs within 5% either way of Oracle for me in pretty much all cases, save one:
PostgreSQL performs much worse if I didn't create an index I needed. Oracle will automatically index based on queries that are run - this can yield HUGELY better performance if you screw up and don't create your physical model to support how you use the database in your applications.
There are TiVo Service Emulators. They put a TiVo program delivery service on your local lan via apache + some modules or custom web applications. I'm guessing this is done via a filtering firewall so you can redirect requests to TiVo from your TiVo box to the local service.
I believe there are two groups out there doing this - one in Canada and one in Australia. I'm told they currently will not open their code to folks in the US because they want TiVo to stay around and make more units.
I assume if TiVo goes defunct, this code might become available.
In the past, I've not had the opportunity to do in-writing skills tests. When I do them verbally, I usualy focus on similar topics in increasing complexity. I try to choose questions that allow me to prod the interviewee along (to see how they react to new ideas, etc.) as well as get them into a discussion with me about the "right" answer. I find it helps me learn how someone attacks a problem.
It's a hassle to use X11 under Mac because you must start up X11 and then OOo. Additionally, the menus do not behave as other Mac menus do, and the integration to the rest of the desktop isn't perfect.
Aqua is the name for the most current display widgets for Mac OS X. Quartz is the video display technology they're built upon. A native Aqua/Quartz application uses the Mac OS X desktop natively, without going through an X11 server that sits as an intermediate.
Me? I gave up on PDAs completely, but I work from home and only travel a bit.
You too? Ever since I started working at home, I have found no need for a PDA, too. Got an iPod Mini for Christmas and I just sync my calendar and contacts to it, as well as my motorola v60s, drag along the 15" PB for when I'm going to need to do work, and I'm set.
At my previous position, I was in about 3-4h of meetings per day. The palm tungsten t2 was pretty helpful in keeping tabs on what I had to do on a daily basis. The laptop (toshiba tecra m1) was too much to drag around to meetings unless I knew I needed it.
I used to do MFC development using MS Dev Studio 6. The dll hell came during that phase.
I've mostly done Java and interpreted scripting language development (with a mix of C/C++ in there as well) for the past 5 years. I've worked with Windows 2000 since it came out and Windows XP since 2002. It's been 3-4 months with Mac OS X.
With respect to problems in Windows that have literally taken hours and days of my time away from development, they run the gamut from networking layer issues you can't resolve without a full reinstall to shell issues like explorer.exe dying incessantly and preventing you from even exploring the filesystem. As a developer it somewhat pains me to say this, because I know there are underlying reasons for everything, but many times I start noticing gui settings that stop working as they should in Windows and know it's a downward spiral until you have to reinstall. Simple things like the auto-hide on the toolbar not functioning any longer have led to worsening unexplained behavior more than 3 times that ended up a reinstall.
That's the kind of wasted time I'm talking about - and I've not experienced any of these time wasting issues (not counting the exception I documented) under OS X.
That's not to say Windows can't be stable for other developers. My particular use of settings within the GUI and Networking stuff may just lead to more non-widely discovered bugs. For the most-part, Windows + cygwin is sufficient, but my experiences with all the hassles Windows brings along reduced my productivity.
If you find out, can you share? I'm interested in it as well.
I don't see a lot of true joe-jobs, but my domain is named such that many people put addresses @mydomain in email boxes they want to fill with some bogus data.
I guess the eye-candy wears off after a while as you said.
For me as a developer, I find I am much more productive under Mac OS X. The OS almost entirely "just works," has the MS Office apps I need to collaborate with staff and clients, and I can mostly just focus on my development without chasing down dependencies in this lib or that to get this feature or that working. I was never able to avoid being a "tweak" while running Linux or FreeBSD to do development. Mac OS X has freed me from that, thankfully.
Comparing it to Windows-based development, I spend 1/100th the time chasing down system problems that keep me from development work. Under Windows, it seems like I'm always fighting some stupid problem with dll hell or just the windowing system or underlying kernel breaking and wasting hours (sometimes days) at a time.
The most time-draining thing Mac OS X has caused me to waste time on so far was about 2h to figure out postgresql not getting enough sysv shm. That was solved by a few google searches and a grep through/System/Library and/etc for where to make my changes.
Not sure if it's surprising or not.
Is it the lack of quality programs these days or lack of interest on the part of highly talented students to participate?
It sounds like your framework still yields a very page-oriented development style.
I'd be interested in looking under the covers at what you have, but after working with struts, xml->xslt->browser consumable language, and back in the day plain old servlet/jsp, I've grown weary of page-oriented development of webapps.
I've recently built a smallish system using tapestry and have been amazed at the boost in productivity it gives me. I also used hibernate in the same project and found it gave a similar boost. Much less fussing with SQL for pretty standard stuff that is easy for the framework to optimize in the general case.
Comparing this system to another I built about 4 months ago of similar complexity, the tapestry + hibernate combination saved me 1/3 the overall code and configuration lines. If I compare just the stuff related to putting pages up, taking user input, and working with the db, it saved me 1/2 the overall code and configuration lines. Pretty amazing!
Do you have any references for this? I'd like to read further if this is backed up by something and not just a conspiracy theory.
So come on, cite some material we can look at here to back up your claims.
Thanks!
No, law prevents credit card fraud from ruining people's lives.
Discover and Visa are simply looking out for their own financial losses. The quicker they stem the fraudulent use, the less they have to pay out to cover it.
I installed audiofile through fink which includes sfconvert - I use it to conver the aiff big-endian format to wav, then I flac the wav. It doesn't work as a stream, though, which is somewhat annoying.
Are you submitting patches back to the flac project for support of the aiff files?
Why not stream the music off your server in another format? I actually maintain a 160Kbit/s ABR lame mirror of my flac repository through some scripting. I just use those over filesharing. You could also just setup a streaming server that converts flac to mp3 in realtime.
I'd like to see your scripts if you feel like posting them.
Is this a jab at Apple?
:)
It's kind of funny, actually.
I wholeheartedly agree with you. I'd like to keep the speed and only have new features activated if they are worthwhile to me.
I'm more likely to want to use an app to build a cut list and then drop the GUI and use command line tools to render/transcode/burn my video. A candied-up UI to handhold me ends up constraining what I can produce.
I can definitely see your point of view. Progress does need to be made.
I think we're all inclined to complain about things we don't necessarily want, but I don't think I'm any more so inclined than anyone else.
With respect to Windows 3.1 -> XP. As another poster mentioned, you're not using KDE to admin the machine, whereas that's where I personally see a lot of change in Windows - the interface with regards to administration of the machine.
Where I (and some of my users - not nearly as technical as me) see change is partly in how everything looks. The widgets have changed a lot over the last two years. To less technical users that is a barrier - you and I might blow it off, but it can be an issue. Once you spend some more time, there are more things that have changed for what I can see as little reason - maybe someone's idea of organization changed over the years and so all of a sudden, things move around on control center.
As I've upgraded from KDE 3 -> 3.1 -> 3.2 -> 3.3, I've noticed that many times my settings get lost and it's not so easy to go re-establish them. Things like keyboard shortcuts, mouse onClick behaviors for the various buttons have moved around. Heck, at one release the Control Center started taking on different forms depending on whether I selected it from the menu or selected it off the "dock" (can't remember KDE terminology).
Am I opposed to exploring for 15 minutes to use it? No, certainly not - but when I use it so little, I am more accustomed to metaphors of other desktop environments, and using KDE 6-8 times per month becomes a chore - again - it's been easier to just use XFCE.
I'll probably get modded down for this, but my forays into KDE use have been separated by 6 months at a time. It seems the KDE team is emulating Microsoft's penchant for changing how major features of the interface work at frequent intervals.
I see lots of people complaining that each time Windows is updated they have to relearn the GUI, but honestly the same is true with KDE.
I'm not primarily a Windows user - I mostly use Mac OS X these days, but because of the amount of change that happens in KDE, I find it more trouble than it's worth and have begun to just stick with XFCE when I'm working on my Linux boxes.
It would be nice to see some consistency between major releases of KDE so that configurable items are still found in the same place when you upgrade, etc.
This looks like it would be great for the audio out of my laptop for mythtv. I can't figure out if there's a linux driver for it, though. Do you happen to know?
Thanks!
From my read of TFA this doesn't look like it was challenged based on the issue of fair use, but rather, based on its detriment to citizens in the form of higher prices for equipment and content.
What? Why not tackle this for its effect on fair use?
I've not tried this... but, make a shell script to unload the original extension and load the new extension, then put it in your startup items.
I'm not sure if shell scripts can be placed in your startup items. If not, get XCode 1.5 and make an AppleScript application to call the shell script that does the work. Put the AppleScript Application in your startup items.
From what I've read, also be careful of touching the pad while this activity is happening, or you could panic the kernel.
Being a Mac OS X, Linux, and FreeBSD user, I want for decent trip planning solutions - unfortunately, I haven't found any.
Adding waypoint support to web-based trip planning software has been high on my list for all of the available services, so I was excited to see this listed for maps.google.com.
Unfortunately, I can't find how to do this even after perusing their help.
Has anyone figured out how?
Thanks!
Thanks for following up.
Poor choice of the word "artificial" on my part.
I believe OSS can manufacture wealth in the manner you describe - by making the delivery of services and products a more productive activity through smarter/better/more effective tools.
I guess why I used artificial is it seems counter-intuitive until you realize the gains possible. You're giving your employees' productivity away, but in the end, if everyone is doing that, all projects start off closer to completion because of the value of OSS technologies you can make use of.
The analogy I have heard used equates OSS to the construction industry.
OSS can artificially manufacture more wealth in the long-term, much like the stock-market does.
Think of using (and in turn contributing back to) OSS tools like getting free hammers and nails so long as you help improve the design of hammers, nails, and other industry standard tools you use for free. Within the context of using those tools to build things, general practitioners are going to come up with gripes and improvements. I think the same holds true of using OSS tools for building proprietary software.
My group in a company I used to work for submitted patches back to Jakarta Digester to handle some functionality we needed. It was much more valuable to us to have that get accepted and made part of the product than it did to maintain an internal patchset against the product.
I don't feel a need to go into details about the systems I've built, but if you build systems intelligently, many times you do not need more than ANSI SQL 92. Sure, there are times to use other features, and I have done that as well, but many times portability is more important on my projects than raw throughput on a specific database. Your assumptions that 1) eeking every bit of performance is more important than portability and 2) that I actually paid a wad of cash for Oracle are both wrong. They may hold true of your situation, but not mine.
With respect to Oracle auto-indexing. If it's not auto-indexing, I don't know what it's doing - storing column tuples in memory for future queries? I can perform queries against PostgreSQL using the same schema and indeces, and return results in 15 minutes or so. Oracle is subsecond. Adding a well-placed index for the query will reduce PostgreSQL's query time to subsecond as well. Oracle's first query runs in the 10 minute range, but magically, thereafter, it's subsecond. Automatically indexing may not be the right term, but it is doing something to improve performance where there's a physical data model problem that otherwise prevents it.
PostgreSQL 7.4 for the mostpart* works fine on Mac OS X. In terms of installation, I do it with fink. I'm not sure when a PostgreSQL 8.0 source package will be available for fink, but hopefully not too long.
/etc/rc something similar to FreeBSD 5's defaults and then reboot. They are set once on boot and cannot be changed with sysctl after they are first set.
*If you want to support more connections or more shared memory per connection, you need to set your sysv shm settings in
Here's what I'm currently using:
sysctl -w kern.sysv.shmmax=33554432
sysctl -w kern.sysv.shmmin=1
sysctl -w kern.sysv.shmmni=192
sysctl -w kern.sysv.shmseg=128
sysctl -w kern.sysv.shmall=8192
I'll preface this with stating that I generally stick to ANSI SQL 92 and limit my use of database features to that.
From that perspective, PostgreSQL performs within 5% either way of Oracle for me in pretty much all cases, save one:
PostgreSQL performs much worse if I didn't create an index I needed. Oracle will automatically index based on queries that are run - this can yield HUGELY better performance if you screw up and don't create your physical model to support how you use the database in your applications.
There are TiVo Service Emulators. They put a TiVo program delivery service on your local lan via apache + some modules or custom web applications. I'm guessing this is done via a filtering firewall so you can redirect requests to TiVo from your TiVo box to the local service.
I believe there are two groups out there doing this - one in Canada and one in Australia. I'm told they currently will not open their code to folks in the US because they want TiVo to stay around and make more units.
I assume if TiVo goes defunct, this code might become available.
I like your approach. Thanks for sharing it.
In the past, I've not had the opportunity to do in-writing skills tests. When I do them verbally, I usualy focus on similar topics in increasing complexity. I try to choose questions that allow me to prod the interviewee along (to see how they react to new ideas, etc.) as well as get them into a discussion with me about the "right" answer. I find it helps me learn how someone attacks a problem.
Thanks for the correction - I did not know this.
See some of the earlier posts, but in general:
It's a hassle to use X11 under Mac because you must start up X11 and then OOo. Additionally, the menus do not behave as other Mac menus do, and the integration to the rest of the desktop isn't perfect.
Aqua is the name for the most current display widgets for Mac OS X. Quartz is the video display technology they're built upon. A native Aqua/Quartz application uses the Mac OS X desktop natively, without going through an X11 server that sits as an intermediate.
Me? I gave up on PDAs completely, but I work from home and only travel a bit.
You too? Ever since I started working at home, I have found no need for a PDA, too. Got an iPod Mini for Christmas and I just sync my calendar and contacts to it, as well as my motorola v60s, drag along the 15" PB for when I'm going to need to do work, and I'm set.
At my previous position, I was in about 3-4h of meetings per day. The palm tungsten t2 was pretty helpful in keeping tabs on what I had to do on a daily basis. The laptop (toshiba tecra m1) was too much to drag around to meetings unless I knew I needed it.
Interesting experiences.
I used to do MFC development using MS Dev Studio 6. The dll hell came during that phase.
I've mostly done Java and interpreted scripting language development (with a mix of C/C++ in there as well) for the past 5 years. I've worked with Windows 2000 since it came out and Windows XP since 2002. It's been 3-4 months with Mac OS X.
With respect to problems in Windows that have literally taken hours and days of my time away from development, they run the gamut from networking layer issues you can't resolve without a full reinstall to shell issues like explorer.exe dying incessantly and preventing you from even exploring the filesystem. As a developer it somewhat pains me to say this, because I know there are underlying reasons for everything, but many times I start noticing gui settings that stop working as they should in Windows and know it's a downward spiral until you have to reinstall. Simple things like the auto-hide on the toolbar not functioning any longer have led to worsening unexplained behavior more than 3 times that ended up a reinstall.
That's the kind of wasted time I'm talking about - and I've not experienced any of these time wasting issues (not counting the exception I documented) under OS X.
That's not to say Windows can't be stable for other developers. My particular use of settings within the GUI and Networking stuff may just lead to more non-widely discovered bugs. For the most-part, Windows + cygwin is sufficient, but my experiences with all the hassles Windows brings along reduced my productivity.
If you find out, can you share? I'm interested in it as well.
I don't see a lot of true joe-jobs, but my domain is named such that many people put addresses @mydomain in email boxes they want to fill with some bogus data.
I guess the eye-candy wears off after a while as you said.
/System/Library and /etc for where to make my changes.
For me as a developer, I find I am much more productive under Mac OS X. The OS almost entirely "just works," has the MS Office apps I need to collaborate with staff and clients, and I can mostly just focus on my development without chasing down dependencies in this lib or that to get this feature or that working. I was never able to avoid being a "tweak" while running Linux or FreeBSD to do development. Mac OS X has freed me from that, thankfully.
Comparing it to Windows-based development, I spend 1/100th the time chasing down system problems that keep me from development work. Under Windows, it seems like I'm always fighting some stupid problem with dll hell or just the windowing system or underlying kernel breaking and wasting hours (sometimes days) at a time.
The most time-draining thing Mac OS X has caused me to waste time on so far was about 2h to figure out postgresql not getting enough sysv shm. That was solved by a few google searches and a grep through