28 karma · joined June 8, 2012
Then there is the business side of this. If average office worker prints 10,000 sheets of paper per year the paper would cost about 100 euros per year. The black laser casettes would cost about 400 euros per year. This comes down to 500 euros per year and this supports workers working in the ink and paper industry. If I really need that much paper I can always pay the price of it. When going completely paperless would put the cash on the hands of few founders and server administrators and would require those who I am in contact with to use the same or compatible services.
Though I have learned to live with the depressing stuff without any kind of medication. Mostly I do this by shifting my thoughts about the depressing stuff to something which I find nice. Though too often it is a good movie, but still that is almost two hours break from thinking about the depressive stuff.
If the product does not have competition and is profitable you will get competitors at some point of time when they realize that they can outmatch you.
If the performance was not in the mind of the developers of the product anyone can win the competition by matching the product features and user experience, but make the user experience better by making the performance of the product better. They can even speed up the take over process by giving additional features to the customers. Once the users start to move to the competitors product because they have realized it's much better at doing the job the competitor can start to make the existing feature set user experience better like removing the really not needed additional mouse click.
The first products company will be having problems at this point, because they really need to start thinking new features the users will like and think how to make the user experience better, but to match the performance of the features they really need to start digging on the old code which might be messy as hell. Matching the performance of the competitor at this point is really costly, because you either have to create it again from scratch or start digging around the code and see where you can optimize. Once the performance has been optimized you might have lost ton of users and revenue.
While the first products company is trying to handle the performance issues the competitor will of course move further and further away and might even incrementally change some of the features of the product and at the same time teach the users to use it.
Then again if the first product had good performance from the start the competitor can not take advantage of this and you can keep up by giving the users better user experience.
Now someone give me enough money to compete with Facebook! JK.
Seriously some old security books for example are good reading.
Though social networking is annoying because count of users in the network is pretty much a feature of the network. One of the things I think Google never has realized. With larger amount of users you have feature domination easily and the users will keep using your network even if it's slow.
Actually here in Finland we have one major community site which is one of the slowest and most bad mouthed service everyone use it because the users are there and not somewhere else.
This search algorithm is purposely making the search engine to sleep for maximum amount of time even if the results come faster. This is really done with the user in mind like you said and not the company. They are, "The users are not stupid, they will notice if some of our searches take longer than others"
I dislike wasting cpu cycles for unrelated reasons like "Users are stupid, they wont notice that it runs slow." so lets use this because it's easy to use without considering the effect on the users.
Well yeah optimizing that far that you are competing with the compiler is problematic, but if you can optimize your code that far you should know what the compiler actually optimizes. I'm not saying everyone should start optimizing their code to the point of having absolutely no waste in the code.
Readability of the code is much more related to naming conventions of variables and functions instead of how the loop actually reads constant size array size every time of the loop cycle.
Then again i'm annoyed at products where they just decide that they will use python for some application because it's easy to use and fast to code in and never worry about how fast it actually runs as long as it runs. Has nice graphical user interface and easy to distribute. fix some bugs if they actually are causing problems.
Yeah. I have used asm, c, c++, java, php, python, etc too. Though C# is something I will never touch because of the monstrosity developer behind it.
Anyway comparing web site backend with compiled C to interpreted PHP is bad example when the language really does not matter as C is faster than any other language and PHP being one of the slowest.
Comparing python and php is another thing when both of them actually are interpreted languages and used for scripting web servers.
Anyway this is one place where personally even I do exchange cpu cycles for speed of development. The SQL queries will affect the same both of those languages.
Yes you can make any code to be fast it only needs to be optimized and compiled to binary.
Ugh.. Polling can seriously eat some resources for activity which really does not need to happen. :P
The worth of a programmer is completely another topic.
In the game industry we often see the requirement of needing to buy new computer because we want to play some new game, but we have quite much accepted this because usually those games bring pretty good upgrade on the graphics. Though personally I don't know what is the current situation as I have dropped pc gaming. But I know nothing new has happened in the console side, except new games every week with similar graphics and physics, but different story and setting.
Anyway. One example where global bad image of software is easily seen is the browser wars. When majority of users started to replace their default Internet Explorer installation to alternative like Firefox. Though now the most popular is chrome. Of course the graphical user interface, other features of web browser played big role on this and much of the complain of web developers who did not want to support some browser.
Recently I have had to answer to questions like why Firefox or Chrome is taking something like 50% of cpu to render something. Of course I've asked them how many tabs they have open, etc. But the major cause I've realized is code of Facebook which does ton of stuff in the browser instead of in the server.
If I were at your position and the product is actually ready already I would spend all of that cash on advertising after I would make sure that my current server infrastructure can handle the possible growth.
Though first I would calculate how many new visitors I possibly could get from adwords with the cash. Once the calculation is done I need to test if the possible growth can be handled. If I can not handle the growth I would check how much new hardware I would need and buy and install those. The rest of the money would be used in adwords for new possible clients to create more revenue.
I would not have used the money to get new computer or hired virtual assistent, because I see that as a waste of money. Then again I would not even bought that VPS as I would have one or two dedicated servers anyway.
I do not believe anything boosts your productivity, better than you yourself deciding to be more productive.
I hope their website go down soon too.
They are distributing the client binary to everyone who want's to play the game and GPL requires to distribute the source code.
Then again AGPL requires them to distribute the server source code, even though they do not distribute the binary to the players.
The stupid thing is I kinda find it nice that they forked our code, but I dislike them for not following GPL.