I said my goodbyes in 2000 when the election was manipulated.
Spoken with true, (needless) defeatism. You think that because one election is suspect, that it's all over, just wait for the tanks?
You are a dumbf-ck. America wasn't founded in perfection, nor is it a vile overlord. Sometimes, things get a little screwy. As they say, the pendulum swings back and forth.
Here's a hint - it happened in the 1950s, it was all about communism, and lots of rights were trampled on, terribly, in a sweeping wave of suspicion and media hype. While the (needless) Iraq war is terrible, remember that the world wasn't in a virgin state before your birth, and things will get better and worse hereafter.
People have been killing people ever since there were people. Evidence is mounting that modern man succeeded against other advanced primates by murdering them. It's not new - tribalism and exclusionism is inherent in humankind.
So lay off the drama already. Make sure you vote, actively support http://www.blackboxvoting.org (I've sent them several hundred dollars - what have YOU done?) be a good citizen, and have hope. Virtually never in all of human history has any group of individuals had it better than we do, now. Try to live a clean environmental life. Support alternative energy, and work to end global poverty by donating a few bux to a worthy Microcredit foundation such as the Grameen foundation.
Grow up, already, pull your sleeves up, and deal with the real world. You have more power than you realize, if only you act.
The United States lives in a distortion of wealth and power never before imagined in human history. Despite that fact, after invading a country/nation/continent, we expect to turn over the reigns to the local inhabitants and try to uphold local control and choice - AKA "Democracy". Don't trash that history in defeatism, be proud of your heritage and ACT!
Any of the old-timers here remember the Bone Fone from the 1980s?
A walkman the way it shoulda been - with good quality sound, under a pound! My father had one, and I loved it when I was a wee lad. (Alas, I could never remember to turn it off when done, so I wasn't allowed to use it much)
The intrinsic reason we can't is that the universe as far as we can tell is finite.
Really? What is the limit? How far away is the edge of it? When does it end, in either time or space?
I'm not aware of any particular limitation placed on our universe by any observation, except for the claimed moment of the "big bang" as a beginning. But even with that, what evidence is there to support that the universe actually started then, rather than simply go through a dramatic change in phase?
Perhaps if you had something to substantiate this very extraordinary claim... keep in mind that extraordinary explanations require extraordinary evidence to support them...
As architect of a small software company, the most frustrating aspect of designing software is the knowledge and understanding that there's no way to know how to do it right until you deliver something that's wrong. People almost never seem to know what they need, but they do know that whatever they have isn't it, and they'll tell you why.
So, we have a very different tack, similar to Agile Programming. When we implement a new feature or functionality tidbit, we release very early - pretty much as soon as it more or less works without major errors, - with as much fanfare as we can manage on the cheap, and then wait for the feedback.
We're very up front about it, and openly welcome the feedback and ideas. This takes any conflict out of the relationship and turns it into a sort of partnership. Customers love being listened to, and feedback we get, in droves. When a customer sees THEIR idea implemented a week or two after they suggest it, even when it's something stupid-simple (such as having a particular button selected by default to avoid a common mouse-click) then they're your advocate for life!
It's that continuous, iterative cycle that's resulted in our young, 3-year-old codebase having eye-popping features, and remarkable stability. The software updates itself at the client's discretion, so nobody seems to mind much. They update as often as they like.
With this model, there is no due date. It takes me about 15 minutes to issue a release of our software. The idea of a "release" means almost nothing - we've done more than one in a day! (we've released 46 official releases in the past year alone, with too many "unofficial" releases to count)
Faced with this "impossible" situation, (I've lived "impossible" schedules for years now) I'd step UP the release cycle and start pre-annuoncing alphas/betas of the product the instant that something that appears demonstrable compiles and can be stuck on a dev server someplace. Invite comments and download. Call people to ask about feature X or Y. Let them know it's really early, and make sure that they have a place to bitch about the problems they find.
When you do, you'll be surprised how much of what you thought was required was, in fact, completely un-necessary - or at least could be put off until next March for a future release. But, you'll find some simple, straightforward ABSOLUTELY GOTTA HAVE that takes a man-month to code that the users would sacrifice their firstborn to have.
Agile software methods will find this "gotta have" pretty quickly. The waterfall model of software development would take a decade.
You decide.
This model won't work for all products and/or markets. And it's very important not to take away functionality that the customer previously had, or they get the feeling that you're taking something away, and that's bad. But for us, it's been very, very successful, and the relationship we have with our clientelle is very friendly, close and intimate.
PS: Maybe it helps that we're an ASP.
Re:You got that right
on
PHP Hacks
·
· Score: 3, Insightful
So, yeah, there's a reason every is critical of PHP.
I'm on the other side. What is it about a language that makes it *EASY* to consider the problem at hand, and doesn't make you worry too much about implementation details?
Using PHP, you don't have to worry about things like memory management and/or memory type translation. A "1" becomes a 2 when you add a 1 to it.
Arrays and hashes are the same. Any array can be accessed as a hash, any hash is also an array. Makes it easy to define data in memory, then do loops/recursion on it to get whatever result you want.
Simple!
Time spent solving customer problems rather than implementation problems is time spent making money instead of wasting it.
I've written some really big projects with PHP. (EG: over 50,000 lines in 3+ years, with NO HTML CODE) It's done a magnificent job. It scales nicely and easily with it's "share nothing" approach, and is highly reliable. In the 6 years that I've been actively developing with PHP, the number of times that there was a bug/problem with the language I could count on one hand, with 4 of the fingers peeled down. It's reliable and scalable enough that Yahoo uses it as their preferred development language.
And, as far as security, the vast majority of issues have been with idiots writing insecure scripting, which can be done in any language. (Yes, I'm thinking of you, SPAW editor!) And, if you're using a decent operating system with an update mechanism (EG: yum) then updates to fix found security issues is a no-brainer.
no i didn't think it was polished enough, and then i saw there were other more mature tools that do the same thing (dirvish).
I might mention that I discuss the plusses and minuses of dirvish on my related projects page and still get an e-mail every week or so about Backup Buddy.
If it's good enough for you, it's good enough for somebody else. Release your stuff! If only because you might have thought of a feature that I might like! It's this cross-fertilization that makes OSS evolve so quickly and so effectively...
PS: One of the concerns I have with QT is licensing - although the license fee they ask for commercial use is definitely reasonable, it's just another reason not to... with GTK I have no worries.
The thing is I've never seen an X11 app behave sensibly under OS/X with the rest of the applications. Printing is special
As it is with PHP-GTK under Windows. Our application generates PDFs when it needs to print and makes a shell call to open whatever app prints PDFs. Works fine in our case, may not work for others.
services don't work
Ahem? Can't respond.
menus are not where they need to be.
Menus appear in the same app as the rest of the application - perhaps this is more weird to a Mac user, but we've gotten no complaints so far.
Drag-and-drop ?
Our app doesn't use any Drag-n-drop.
Did you manage all that ? Just about the only thing that works by default are the 3 buttons on the window's frame.... combined with a decent installer, printing through Safari/PDF, etc. and I'm happy.
I've personnally written a largish application that sort-of-works OK under OS/X, but with all the above caveats. I'm seriously thinking about rewriting the lot with a more sensible toolkit, in this case QT. It doesn't take as long the second time, apparently.
I *guess* I'm in the same camp. Since the purpose of our product is to produce PDFs, it seems silly to do anything more than what we've already done.
And our Mac users love it, so it's still cool! And it looks way better than I'd been expecting.
BTW: I probably spent half of that man-month just getting cozy with MacOS internals. (I'd never used it before) Things like fink, Xcode, etc.
That's one word for PHP-GTK, here's another, "slow". You could have learned lua and another widget set in a man month and your users would thank you from the bottom of their RAM usage.
Slow, perhaps, if you are writing a video game, or a performance-intensive app. We're doing neither. We provide software to administer schools - grades, credits. and the like. For which PHP-GTK does just fine.
We don't have many complaints about performance, even though the average use consists of a database of a few hundred MB. We list our minimum specs as PII/PIII at 500 Mhz or better, 128 MB RAM, 256 recommended. 256 MB of RAM runs about $15 on the open market. Computers exceeding these specs can be had on EBay for less than $100.
What users are these that will thank me, again?
As far as learning another toolkit, what about porting over the existing application, now having several man-years of invested time?
If you've gone to a lot of trouble to fake the OS/X behaviours, why not change the toolkits ?
There are several man-years invested in the current application. With that, you don't just "change the toolkits" without at *least* a year in the making.
Very recently, we ported over our PHP-GTK product to Mac OSX 10.3/10.4. It took about a man-month to get all the libraries, dependencies, installer, icons, updates, permissions, etc. figured out, which honestly was 2-3 times longer than we thought it would take.
But, the end result is much, much better than expected! Our application looks, acts, and feels like any other Mac OSX application! Our customers are RAVING about it! The window dressing, the slick maximize/minimize, integration with the OS environment, etc. The launcher is a shell script, and so dependencies (such as the requirement for the installation of X11 and the Xcode apps) can be resolved in the shell script, and the failures displayed in Safari, so it even fails gracefully when the deps aren't met.
Oh, and the research isn't intended to make auto-driving cars for you and me. They want to create a way that cars do exactly the same test runs on test-tracks to check the settings of the car. The results would be more reproductible. If anything, this tech is to put test-drivers out of work;-)
Which brings into mind something that I've really run into repeatedly as a software engineer - the difference between tests and reality. It's amazing what people do!
I've long been an advocate of agile software development methods such as Extreme Programming because of its ability to deliver software that works fast with minimal resource expense. However, the test-driven model of software (compose the test first, then write the software to match the test, then refine the test, wash - rinse - repeat) fails to account for the scenario unforseen by the test writer.
People can do some very unexpected things. For example,
1) They can double-click on a web link, as they've become accustomed to with everything on the desktop, causing it to be processed twice. (caused serious hell in one case)
2) Make extensive use of the back button, even when it makes no sense to do so, then causing duplicate entries in a multi-stage process.
3) Click "OK" on a bright red, dire warning with bolded letters and even type "I UNDERSTAND" in all caps, without ever reading anything, and then complain bitterly about the result.
I've seen all of these, and many more, and have learned that what constitutes a "bug" is very, very VERY relative to what the user expects. The software could work perfectly to spec and design, and pass immense testing, and be exactly what all involved agreed was just critical - and still be perfectly and totally unusable.
Thus, my focus has shifted slightly from XP to so-called "Agile Programming - less emphasis on formalized testing and more emphasis on user feedback. Our software has a software development turnaround cycle of about 1-2 weeks. We implement few fixes or features, test to a "reasonable" standard, and kick. Wash, rinse, repeat. Expect any new development to be adjusted or refactored 3, 4, 5, even 10 times after release.
We've kicked out some 46 releases of our software in the past year alone. The software updates itself in just moments, and the update is voluntary - if the user doesn't want to, they click "OK" one time when they start the program.
Reviews in our industry of our product have been rave. It works!
Yes, we have reverted to the Windows 95 technique where we shut all processes down, and display a screen that says:
"Please Turn Off Your Computer (Aaaarrrrgghhh Matey)"
The reason for this was more simple than you may have thought - many computers circa 1995 still had manual ("AT" style) power supplies that couldn't be turned off by the Operating System.
In fact, I *still* have one computer in the house that uses an AT power supply - an ancient AMD K6-2 running Linux that's been upgraded with almost 2 TB of HDD that's used simply to backup other systems with a backup script I wrote when I couldn't find anything else better.
I've now gotten almost a decade of service out of that machine - it's BIOS date is (if I recall correctly) in 1997!
Corel was, for years, led by Michael Cowpland. An interesting fellow, he seems to always be looking for the "next big thing".
So here he was, director of a vendor of commodity products, (mostly, Word Perfect and Corel Draw!) looking for the next big market surge. Corel didn't have what it took to catch any "next big wave".
But, they kept trying anyway. Remember when Corel was going to port a Java-Office suite?
But, in any of these efforts, it doesn't seem that Michael was willing to "put out" what it took to finish it all the way through. The Java-Office turned out to be buggy, and terribly slow. The Corel Linux was pretty, but buggy. I tried it, and liked it at first, but usability problems plagued Corel Linux, so I only ended up using it for a week or so before switching back to RedHat. (and never looking back)
Of course, it worked out well for Michael - he lives in lavish luxury - but Corel sank like a stone in kerosene.
It's a good car, does what it's advertised, etc. You don't have any complaints.
But then you get on the intarweb, and you find out that inside the door is a bunch of pornography. And that you need a special screwdriver to open the door to find out that the inside of the door is a bunch of low-resolution pornography. You can't get to it, unless you take apart the door with a special tool that's not commonly available, but is easily created/duplicated once discovered.
Did the car company do anything wrong?
Answer that question, and the Take-Two issue becomes more clear.
Wouldn't it be fun to give the ants little shoes to make their legs longer? That would screw 'em up pretty good.
Not nearly as fun as standing over the colony with a mangifying glass. Hot Sun + Magnifying glass == hours of afternoon fun! Don't get one that's too big (too hot) - it's fun to chase the little buggers for a while with a smaller one to play a lively, cat & mouse style game of "keep the white spot on the running-for-dear-life bug".
And if I pay $ for my movie, I won't seed it full speed for 2 weeks after downloading, which I may do in case of my favourite linux distro torrents.
The real issue here is that BitTorrent is not a particularly efficient way to distribute content. It's a way to "pass the buck" of server hosting costs to the clients, but it's very inefficient.
For example, let's say that you are downloading a video via BitTorrent. Your computer connects as a peer to other computers that are also downloading the same video. When your computer confirms receipt of a section of the video, it then uploads that section to other peers that haven't received it, yet.
The problem with BitTorrent, and why it's not a particularly efficient protocol from the standpoint of the Internet at large, is that those other peers will be geographically unrelated - they will be all over the world. Thus, the video download generates a tremendous amount of traffic over the Internet at large.
At only point, BitTorrent accounted for something like half of the traffic on the Internet.
A much more efficient schema would be the use of NewsGroups (or similar schemes) to distribute binary content. This has many, many advantages over BT:
1) You'll be downloading the video from a local source, geographically close to you. (typically, within your ISP's home network!) Thus, your download causes virtually no additional load on the Internet at large, and your download speed will be as speedy as your connection to your ISP, oversold be damned.
2) You can stream a movie in this fashion, since the download happens sequentially.
3) It doesn't require any upload from your computer, and you don't have to keep a seed active for two weeks after you watch your video.
4) For a regional ISP, it costs very little to set up a 10 TB News Server, that will cache the vast majority of downloads. And the larger the ISP, the more sense it makes to have a big, local disk in the news server(s) to take the load off the uplink. This means you have almost local access to large quantities of content in your "back yard".
We solved the problem of content delivery over 10 years ago. Why is anybody moving forward with this half-baked, inefficient, problematic technology?
If somebody were to:
A) Get the license from the video sources,
B) Put up News Servers in the ISP,
C) Provide a nice, friendly, GUI front-end for the newsgroup server, perhaps a Tivo-like appliance,
We'd have a tremendous amount of money made instantly. It would sell like hotcakes. God I wish I had the means to do this - it could be a terribly fun startup, but I'm already in the throes of one already!
My home DSL line is capped at 1.5 Mb, but is capable of 6 Mbits. That's plenty of data in a lossy compressed stream to beat the quality of television, hands down. Essentially, we'd be talking about a clustered, peered, IP tivo.
Perhaps Apple should jump into the fray, and start selling an "itunes proxy server" that would function like a newsgroup server?
I don't quite follow this. Beta got trounced by VHS largely because the consumers found the image quality acceptable, given the longer recording times. It's the consumers that made Beta, well, Beta.
In the case of VHS vs Beta, consumers didn't have a reasonable other choice. If they wanted to videotape Star Trek episodes, they had to pick one or the other. So the decision wasn't whether to buy, it was what to buy. And VHS killed Beta because of the extended recording times.
However, there's already a choice that's a clear market winner - DVD. Players are cheap, (I can now get a DVD with stereo audio and DVI for $30) media is cheap (movies cost ~ $10-$20) and it's widely supported.
So the choice consumers make is not "Which HD-DVD to buy?" but rather "DVD or one of them expensive, risky HD thingies". If they go DVD, they get all their movies and titles, decent video/sound quality, and don't pay too much. If they go HD-whatever, they get marginally better video, no noticable difference in sound, and a limited, high-priced movie selection.
Which would YOU buy? I don't know about you, but I'm in NO HURRY to adopt HD-DVD - I might end up buying an LCD TV in about a year to replace my aging 19" CRT...
On a side note, I've gotten to where I just don't like DVDs anymore. I have 5 kids and a busy career. When we rent DVDs, we end up paying late fees a good percentage of the time. When we buy them, they often get scratched or lost. I don't have time to be a "DVD cop". But a Dish Network Pay-Per-View is easily recorded on the DVR and played over and over, with no media to lose, no trips to the local video store, and no stupid envelopes to mail back. (a la NetFlix)
When we want a movie, we buy it on PPV. The selection still isn't fantastic yet, but it's just so much less hassle! IPTV is definitely where I'm going to go, as soon as it's available for my DVR!
My vote for the next media format: IPTV on-demand, with a DVR or iTunes. The real question is simply: does Apple have the gonads to actually penetrate the living room, or are they content to just be a cool fad?
Well, it's late in the game, but it's neat. Somebody responding to one of my many "so go and get off yer duff!" posts, with something intelligent!
Nice that you have a life and some skills! Since you have a good background in finance, you would make a perfect partner for a young, brash startup. As far as I can tell, a startup needs the following:
1) Salespeople capable of selling something that barely exists as an idea. 2) Quality legal representation to keep company out of hot water. The first (and most important) legal rudiment is a strong, clear, well-written agreement between all the partners. 3) Shrewd financial management. Not the "I know all about IRA accounts and mutual funds" type, but the "we earned X dollars, and what we spend Y had better have a X >= Y relationship" type. 4) Delivery. Depending on the business plan, this could be programmers, people answering the phone, or a contract with a manufacturing plant. 5) All of the above willing to work for peanuts, driving a 1992 Saturn SL1 hundreds of miles at a time, eating beans/top Ramen and sharing the couch for a while until the ball gets rolling.
In short, I reiterate that you have everything you need to make your idea a reality. And, if you are right, you'll buy apartment complexes rather than rent.
Idealy this would happen: There is an official Futurama web-site, they say they want a new season, they need US $ X to produce it. They sell shares on their website or through ebay using a dutch auction in order to finance the project. Geeks buy them. They make the episodes. They realase them on the internet in a non DRM format and using bittorrent so they don't have to pay for bandwith. People pay a small amount of money to download the.torrent file. If they want to pirate it anyway nothing will stop them so why bother with protection. Many people download that great show, the benefits are given to the shareholders. Everyone is happy.
You bitch needlessly. All the tools you need are but a few hundred dollars away!
1) Registering a domain name and getting cheap-ass hosting costs less than a few hundred dollars per year.
2) You can put a link to your project on your slashdot sig and get surprising amounts of attention that way.
3) You only need to come up with an idea for a show, and recruit some star talent. Really, you're on your way already, since you have a business plan that's pretty detailed!
Unless you aren't serious about your business plan. Maybe you wouldn't know a real business plan if it kicked you in the nards. Maybe the idea of actually doing anything outside your mother's basement scares you. In which case, your post is just so much whining and incoherent noise on a populate public blog. There's lots of that already.
The proof of whether or not you have a good idea is in your ability to make it reality. Otherwise, it's just so much hot air, and thanks to global warming, we have more than enough of that.
But, I suggest you give it a try. You'll either succeed, or learn lots about how the world around you works - either way, you win, and win BIG.
Umm... that was the 2nd generation of Apple. Apple II... DUH.
The Apple Mac is really the 3rd generation of Apple's stuff. Why anybody cares about buying the "first generation" is beyond me - that stuff hasn't been sold since 1979!
I personally carry a notebook drive in a usb enclosure that fits in my pocket, and it is one of the best purchases that I Have ever made in electronics. Never underestimate the convenience of having 60gB in your pocket to carry documents, music, and movies on. I was even running Unreal Tournament 2004 off of it - portable gaming on any capable computer!
Wow. To come so close to the mark, and still not quite hit it - you mean an iPod, right?
Some of the hot women might not care to be checked out by people they can't check out in return. Would you?
Some people might not care to be checked out by people they can't check out in return. Would you?
I think you need to read The Transparent Society - an ANCIENT Wired article (back when Wired had all the mojo) that opened my eyes and forever changed my view on power, privacy, security, and freedom.
I said my goodbyes in 2000 when the election was manipulated.
Spoken with true, (needless) defeatism. You think that because one election is suspect, that it's all over, just wait for the tanks?
You are a dumbf-ck. America wasn't founded in perfection, nor is it a vile overlord. Sometimes, things get a little screwy. As they say, the pendulum swings back and forth.
Perhaps you know nothing about McCarthyism???!?
Here's a hint - it happened in the 1950s, it was all about communism, and lots of rights were trampled on, terribly, in a sweeping wave of suspicion and media hype. While the (needless) Iraq war is terrible, remember that the world wasn't in a virgin state before your birth, and things will get better and worse hereafter.
People have been killing people ever since there were people. Evidence is mounting that modern man succeeded against other advanced primates by murdering them. It's not new - tribalism and exclusionism is inherent in humankind.
So lay off the drama already. Make sure you vote, actively support http://www.blackboxvoting.org (I've sent them several hundred dollars - what have YOU done?) be a good citizen, and have hope. Virtually never in all of human history has any group of individuals had it better than we do, now. Try to live a clean environmental life. Support alternative energy, and work to end global poverty by donating a few bux to a worthy Microcredit foundation such as the Grameen foundation.
Grow up, already, pull your sleeves up, and deal with the real world. You have more power than you realize, if only you act.
The United States lives in a distortion of wealth and power never before imagined in human history. Despite that fact, after invading a country/nation/continent, we expect to turn over the reigns to the local inhabitants and try to uphold local control and choice - AKA "Democracy". Don't trash that history in defeatism, be proud of your heritage and ACT!
Any of the old-timers here remember the Bone Fone from the 1980s?
A walkman the way it shoulda been - with good quality sound, under a pound! My father had one, and I loved it when I was a wee lad. (Alas, I could never remember to turn it off when done, so I wasn't allowed to use it much)
The intrinsic reason we can't is that the universe as far as we can tell is finite.
Really? What is the limit? How far away is the edge of it? When does it end, in either time or space?
I'm not aware of any particular limitation placed on our universe by any observation, except for the claimed moment of the "big bang" as a beginning. But even with that, what evidence is there to support that the universe actually started then, rather than simply go through a dramatic change in phase?
Perhaps if you had something to substantiate this very extraordinary claim... keep in mind that extraordinary explanations require extraordinary evidence to support them...
I can't stress this one enough!
As architect of a small software company, the most frustrating aspect of designing software is the knowledge and understanding that there's no way to know how to do it right until you deliver something that's wrong. People almost never seem to know what they need, but they do know that whatever they have isn't it, and they'll tell you why.
So, we have a very different tack, similar to Agile Programming. When we implement a new feature or functionality tidbit, we release very early - pretty much as soon as it more or less works without major errors, - with as much fanfare as we can manage on the cheap, and then wait for the feedback.
We're very up front about it, and openly welcome the feedback and ideas. This takes any conflict out of the relationship and turns it into a sort of partnership. Customers love being listened to, and feedback we get, in droves. When a customer sees THEIR idea implemented a week or two after they suggest it, even when it's something stupid-simple (such as having a particular button selected by default to avoid a common mouse-click) then they're your advocate for life!
It's that continuous, iterative cycle that's resulted in our young, 3-year-old codebase having eye-popping features, and remarkable stability. The software updates itself at the client's discretion, so nobody seems to mind much. They update as often as they like.
With this model, there is no due date. It takes me about 15 minutes to issue a release of our software. The idea of a "release" means almost nothing - we've done more than one in a day! (we've released 46 official releases in the past year alone, with too many "unofficial" releases to count)
Faced with this "impossible" situation, (I've lived "impossible" schedules for years now) I'd step UP the release cycle and start pre-annuoncing alphas/betas of the product the instant that something that appears demonstrable compiles and can be stuck on a dev server someplace. Invite comments and download. Call people to ask about feature X or Y. Let them know it's really early, and make sure that they have a place to bitch about the problems they find.
When you do, you'll be surprised how much of what you thought was required was, in fact, completely un-necessary - or at least could be put off until next March for a future release. But, you'll find some simple, straightforward ABSOLUTELY GOTTA HAVE that takes a man-month to code that the users would sacrifice their firstborn to have.
Agile software methods will find this "gotta have" pretty quickly. The waterfall model of software development would take a decade.
You decide.
This model won't work for all products and/or markets. And it's very important not to take away functionality that the customer previously had, or they get the feeling that you're taking something away, and that's bad. But for us, it's been very, very successful, and the relationship we have with our clientelle is very friendly, close and intimate.
PS: Maybe it helps that we're an ASP.
So, yeah, there's a reason every is critical of PHP.
I'm on the other side. What is it about a language that makes it *EASY* to consider the problem at hand, and doesn't make you worry too much about implementation details?
Using PHP, you don't have to worry about things like memory management and/or memory type translation. A "1" becomes a 2 when you add a 1 to it.
Arrays and hashes are the same. Any array can be accessed as a hash, any hash is also an array. Makes it easy to define data in memory, then do loops/recursion on it to get whatever result you want.
Simple!
Time spent solving customer problems rather than implementation problems is time spent making money instead of wasting it.
I've written some really big projects with PHP. (EG: over 50,000 lines in 3+ years, with NO HTML CODE) It's done a magnificent job. It scales nicely and easily with it's "share nothing" approach, and is highly reliable. In the 6 years that I've been actively developing with PHP, the number of times that there was a bug/problem with the language I could count on one hand, with 4 of the fingers peeled down. It's reliable and scalable enough that Yahoo uses it as their preferred development language.
And, as far as security, the vast majority of issues have been with idiots writing insecure scripting, which can be done in any language. (Yes, I'm thinking of you, SPAW editor!) And, if you're using a decent operating system with an update mechanism (EG: yum) then updates to fix found security issues is a no-brainer.
With PHP-GTK you can write quick, powerful, cross-platform GUI applications with ease and speed - I've done so, managing a distributed database application among some 70 school districts with many hundreds of users - and it works marvelously.
PHP may have it's warts, but it's a damned fine tool. Don't let anyone convince you otherwise.
oooh look at you with your loaded questions.
no i didn't think it was polished enough, and then i saw there were other more mature tools that do the same thing (dirvish).
I might mention that I discuss the plusses and minuses of dirvish on my related projects page and still get an e-mail every week or so about Backup Buddy.
If it's good enough for you, it's good enough for somebody else. Release your stuff! If only because you might have thought of a feature that I might like! It's this cross-fertilization that makes OSS evolve so quickly and so effectively...
PS: One of the concerns I have with QT is licensing - although the license fee they ask for commercial use is definitely reasonable, it's just another reason not to... with GTK I have no worries.
The thing is I've never seen an X11 app behave sensibly under OS/X with the rest of the applications. Printing is special
... combined with a decent installer, printing through Safari/PDF, etc. and I'm happy.
As it is with PHP-GTK under Windows. Our application generates PDFs when it needs to print and makes a shell call to open whatever app prints PDFs. Works fine in our case, may not work for others.
services don't work
Ahem? Can't respond.
menus are not where they need to be.
Menus appear in the same app as the rest of the application - perhaps this is more weird to a Mac user, but we've gotten no complaints so far.
Drag-and-drop ?
Our app doesn't use any Drag-n-drop.
Did you manage all that ? Just about the only thing that works by default are the 3 buttons on the window's frame.
I've personnally written a largish application that sort-of-works OK under OS/X, but with all the above caveats. I'm seriously thinking about rewriting the lot with a more sensible toolkit, in this case QT. It doesn't take as long the second time, apparently.
I *guess* I'm in the same camp. Since the purpose of our product is to produce PDFs, it seems silly to do anything more than what we've already done.
And our Mac users love it, so it's still cool! And it looks way better than I'd been expecting.
BTW: I probably spent half of that man-month just getting cozy with MacOS internals. (I'd never used it before) Things like fink, Xcode, etc.
That's one word for PHP-GTK, here's another, "slow". You could have learned lua and another widget set in a man month and your users would thank you from the bottom of their RAM usage.
Slow, perhaps, if you are writing a video game, or a performance-intensive app. We're doing neither. We provide software to administer schools - grades, credits. and the like. For which PHP-GTK does just fine.
We don't have many complaints about performance, even though the average use consists of a database of a few hundred MB. We list our minimum specs as PII/PIII at 500 Mhz or better, 128 MB RAM, 256 recommended. 256 MB of RAM runs about $15 on the open market. Computers exceeding these specs can be had on EBay for less than $100.
What users are these that will thank me, again?
As far as learning another toolkit, what about porting over the existing application, now having several man-years of invested time?
If you've gone to a lot of trouble to fake the OS/X behaviours, why not change the toolkits ?
There are several man-years invested in the current application. With that, you don't just "change the toolkits" without at *least* a year in the making.
Very recently, we ported over our PHP-GTK product to Mac OSX 10.3/10.4. It took about a man-month to get all the libraries, dependencies, installer, icons, updates, permissions, etc. figured out, which honestly was 2-3 times longer than we thought it would take.
But, the end result is much, much better than expected! Our application looks, acts, and feels like any other Mac OSX application! Our customers are RAVING about it! The window dressing, the slick maximize/minimize, integration with the OS environment, etc. The launcher is a shell script, and so dependencies (such as the requirement for the installation of X11 and the Xcode apps) can be resolved in the shell script, and the failures displayed in Safari, so it even fails gracefully when the deps aren't met.
Wow! It's just incredible!
I gave mine to the community. Did you?
Oh, and the research isn't intended to make auto-driving cars for you and me. They want to create a way that cars do exactly the same test runs on test-tracks to check the settings of the car. The results would be more reproductible. If anything, this tech is to put test-drivers out of work ;-)
Which brings into mind something that I've really run into repeatedly as a software engineer - the difference between tests and reality. It's amazing what people do!
I've long been an advocate of agile software development methods such as Extreme Programming because of its ability to deliver software that works fast with minimal resource expense. However, the test-driven model of software (compose the test first, then write the software to match the test, then refine the test, wash - rinse - repeat) fails to account for the scenario unforseen by the test writer.
People can do some very unexpected things. For example,
1) They can double-click on a web link, as they've become accustomed to with everything on the desktop, causing it to be processed twice. (caused serious hell in one case)
2) Make extensive use of the back button, even when it makes no sense to do so, then causing duplicate entries in a multi-stage process.
3) Click "OK" on a bright red, dire warning with bolded letters and even type "I UNDERSTAND" in all caps, without ever reading anything, and then complain bitterly about the result.
I've seen all of these, and many more, and have learned that what constitutes a "bug" is very, very VERY relative to what the user expects. The software could work perfectly to spec and design, and pass immense testing, and be exactly what all involved agreed was just critical - and still be perfectly and totally unusable.
Thus, my focus has shifted slightly from XP to so-called "Agile Programming - less emphasis on formalized testing and more emphasis on user feedback. Our software has a software development turnaround cycle of about 1-2 weeks. We implement few fixes or features, test to a "reasonable" standard, and kick. Wash, rinse, repeat. Expect any new development to be adjusted or refactored 3, 4, 5, even 10 times after release.
We've kicked out some 46 releases of our software in the past year alone. The software updates itself in just moments, and the update is voluntary - if the user doesn't want to, they click "OK" one time when they start the program.
Reviews in our industry of our product have been rave. It works!
Yes, we have reverted to the Windows 95 technique where we shut all processes down, and display a screen that says:
"Please Turn Off Your Computer (Aaaarrrrgghhh Matey)"
The reason for this was more simple than you may have thought - many computers circa 1995 still had manual ("AT" style) power supplies that couldn't be turned off by the Operating System.
In fact, I *still* have one computer in the house that uses an AT power supply - an ancient AMD K6-2 running Linux that's been upgraded with almost 2 TB of HDD that's used simply to backup other systems with a backup script I wrote when I couldn't find anything else better.
I've now gotten almost a decade of service out of that machine - it's BIOS date is (if I recall correctly) in 1997!
Corel was, for years, led by Michael Cowpland. An interesting fellow, he seems to always be looking for the "next big thing".
So here he was, director of a vendor of commodity products, (mostly, Word Perfect and Corel Draw!) looking for the next big market surge. Corel didn't have what it took to catch any "next big wave".
But, they kept trying anyway. Remember when Corel was going to port a Java-Office suite?
But, in any of these efforts, it doesn't seem that Michael was willing to "put out" what it took to finish it all the way through. The Java-Office turned out to be buggy, and terribly slow. The Corel Linux was pretty, but buggy. I tried it, and liked it at first, but usability problems plagued Corel Linux, so I only ended up using it for a week or so before switching back to RedHat. (and never looking back)
Of course, it worked out well for Michael - he lives in lavish luxury - but Corel sank like a stone in kerosene.
Ok.
Let's say you buy a car. A domestic car.
It's a good car, does what it's advertised, etc. You don't have any complaints.
But then you get on the intarweb, and you find out that inside the door is a bunch of pornography. And that you need a special screwdriver to open the door to find out that the inside of the door is a bunch of low-resolution pornography. You can't get to it, unless you take apart the door with a special tool that's not commonly available, but is easily created/duplicated once discovered.
Did the car company do anything wrong?
Answer that question, and the Take-Two issue becomes more clear.
Wouldn't it be fun to give the ants little shoes to make their legs longer? That would screw 'em up pretty good.
Not nearly as fun as standing over the colony with a mangifying glass. Hot Sun + Magnifying glass == hours of afternoon fun! Don't get one that's too big (too hot) - it's fun to chase the little buggers for a while with a smaller one to play a lively, cat & mouse style game of "keep the white spot on the running-for-dear-life bug".
And if I pay $ for my movie, I won't seed it full speed for 2 weeks after downloading, which I may do in case of my favourite linux distro torrents.
The real issue here is that BitTorrent is not a particularly efficient way to distribute content. It's a way to "pass the buck" of server hosting costs to the clients, but it's very inefficient.
For example, let's say that you are downloading a video via BitTorrent. Your computer connects as a peer to other computers that are also downloading the same video. When your computer confirms receipt of a section of the video, it then uploads that section to other peers that haven't received it, yet.
The problem with BitTorrent, and why it's not a particularly efficient protocol from the standpoint of the Internet at large, is that those other peers will be geographically unrelated - they will be all over the world. Thus, the video download generates a tremendous amount of traffic over the Internet at large.
At only point, BitTorrent accounted for something like half of the traffic on the Internet.
A much more efficient schema would be the use of NewsGroups (or similar schemes) to distribute binary content. This has many, many advantages over BT:
1) You'll be downloading the video from a local source, geographically close to you. (typically, within your ISP's home network!) Thus, your download causes virtually no additional load on the Internet at large, and your download speed will be as speedy as your connection to your ISP, oversold be damned.
2) You can stream a movie in this fashion, since the download happens sequentially.
3) It doesn't require any upload from your computer, and you don't have to keep a seed active for two weeks after you watch your video.
4) For a regional ISP, it costs very little to set up a 10 TB News Server, that will cache the vast majority of downloads. And the larger the ISP, the more sense it makes to have a big, local disk in the news server(s) to take the load off the uplink. This means you have almost local access to large quantities of content in your "back yard".
We solved the problem of content delivery over 10 years ago. Why is anybody moving forward with this half-baked, inefficient, problematic technology?
If somebody were to:
A) Get the license from the video sources,
B) Put up News Servers in the ISP,
C) Provide a nice, friendly, GUI front-end for the newsgroup server, perhaps a Tivo-like appliance,
We'd have a tremendous amount of money made instantly. It would sell like hotcakes. God I wish I had the means to do this - it could be a terribly fun startup, but I'm already in the throes of one already!
My home DSL line is capped at 1.5 Mb, but is capable of 6 Mbits. That's plenty of data in a lossy compressed stream to beat the quality of television, hands down. Essentially, we'd be talking about a clustered, peered, IP tivo.
Perhaps Apple should jump into the fray, and start selling an "itunes proxy server" that would function like a newsgroup server?
I don't quite follow this. Beta got trounced by VHS largely because the consumers found the image quality acceptable, given the longer recording times. It's the consumers that made Beta, well, Beta.
In the case of VHS vs Beta, consumers didn't have a reasonable other choice. If they wanted to videotape Star Trek episodes, they had to pick one or the other. So the decision wasn't whether to buy, it was what to buy. And VHS killed Beta because of the extended recording times.
However, there's already a choice that's a clear market winner - DVD. Players are cheap, (I can now get a DVD with stereo audio and DVI for $30) media is cheap (movies cost ~ $10-$20) and it's widely supported.
So the choice consumers make is not "Which HD-DVD to buy?" but rather "DVD or one of them expensive, risky HD thingies". If they go DVD, they get all their movies and titles, decent video/sound quality, and don't pay too much. If they go HD-whatever, they get marginally better video, no noticable difference in sound, and a limited, high-priced movie selection.
Which would YOU buy? I don't know about you, but I'm in NO HURRY to adopt HD-DVD - I might end up buying an LCD TV in about a year to replace my aging 19" CRT...
On a side note, I've gotten to where I just don't like DVDs anymore. I have 5 kids and a busy career. When we rent DVDs, we end up paying late fees a good percentage of the time. When we buy them, they often get scratched or lost. I don't have time to be a "DVD cop". But a Dish Network Pay-Per-View is easily recorded on the DVR and played over and over, with no media to lose, no trips to the local video store, and no stupid envelopes to mail back. (a la NetFlix)
When we want a movie, we buy it on PPV. The selection still isn't fantastic yet, but it's just so much less hassle! IPTV is definitely where I'm going to go, as soon as it's available for my DVR!
My vote for the next media format: IPTV on-demand, with a DVR or iTunes. The real question is simply: does Apple have the gonads to actually penetrate the living room, or are they content to just be a cool fad?
Well, it's late in the game, but it's neat. Somebody responding to one of my many "so go and get off yer duff!" posts, with something intelligent!
Nice that you have a life and some skills! Since you have a good background in finance, you would make a perfect partner for a young, brash startup. As far as I can tell, a startup needs the following:
1) Salespeople capable of selling something that barely exists as an idea.
2) Quality legal representation to keep company out of hot water. The first (and most important) legal rudiment is a strong, clear, well-written agreement between all the partners.
3) Shrewd financial management. Not the "I know all about IRA accounts and mutual funds" type, but the "we earned X dollars, and what we spend Y had better have a X >= Y relationship" type.
4) Delivery. Depending on the business plan, this could be programmers, people answering the phone, or a contract with a manufacturing plant.
5) All of the above willing to work for peanuts, driving a 1992 Saturn SL1 hundreds of miles at a time, eating beans/top Ramen and sharing the couch for a while until the ball gets rolling.
In short, I reiterate that you have everything you need to make your idea a reality. And, if you are right, you'll buy apartment complexes rather than rent.
Idealy this would happen: There is an official Futurama web-site, they say they want a new season, they need US $ X to produce it. They sell shares on their website or through ebay using a dutch auction in order to finance the project. Geeks buy them. They make the episodes. They realase them on the internet in a non DRM format and using bittorrent so they don't have to pay for bandwith. People pay a small amount of money to download the .torrent file. If they want to pirate it anyway nothing will stop them so why bother with protection. Many people download that great show, the benefits are given to the shareholders. Everyone is happy.
You bitch needlessly. All the tools you need are but a few hundred dollars away!
1) Registering a domain name and getting cheap-ass hosting costs less than a few hundred dollars per year.
2) You can put a link to your project on your slashdot sig and get surprising amounts of attention that way.
3) You only need to come up with an idea for a show, and recruit some star talent. Really, you're on your way already, since you have a business plan that's pretty detailed!
Unless you aren't serious about your business plan. Maybe you wouldn't know a real business plan if it kicked you in the nards. Maybe the idea of actually doing anything outside your mother's basement scares you. In which case, your post is just so much whining and incoherent noise on a populate public blog. There's lots of that already.
The proof of whether or not you have a good idea is in your ability to make it reality. Otherwise, it's just so much hot air, and thanks to global warming, we have more than enough of that.
But, I suggest you give it a try. You'll either succeed, or learn lots about how the world around you works - either way, you win, and win BIG.
Was that a first generation IIe?
Umm... that was the 2nd generation of Apple. Apple II... DUH.
The Apple Mac is really the 3rd generation of Apple's stuff. Why anybody cares about buying the "first generation" is beyond me - that stuff hasn't been sold since 1979!
I personally carry a notebook drive in a usb enclosure that fits in my pocket, and it is one of the best purchases that I Have ever made in electronics. Never underestimate the convenience of having 60gB in your pocket to carry documents, music, and movies on. I was even running Unreal Tournament 2004 off of it - portable gaming on any capable computer!
Wow. To come so close to the mark, and still not quite hit it - you mean an iPod, right?
Some of the hot women might not care to be checked out by people they can't check out in return. Would you?
Some people might not care to be checked out by people they can't check out in return. Would you?
I think you need to read The Transparent Society - an ANCIENT Wired article (back when Wired had all the mojo) that opened my eyes and forever changed my view on power, privacy, security, and freedom.
Aircraft are regulated by the FAA.
This activity on Los Angeles' part got the attention of a certain pilot's association which apparently put lots of ice on the project.
So it doesn't appear to be flying anywhere above LA County anytime soon...