I have been playing around with D for a while, nothing serious but I am pretty excited about this language. D is better explained as “C++ done right” or perhaps as “Java done right”, but I will just quote Walter Bright, D’s author from here:
Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. … The D language is statically typed and compiles directly to machine code. It is multiparadigm, supporting many programming styles: imperative, object oriented, and metaprogramming. It's a member of the C syntax family.
This post, however, is not about D. Check out Digital Mars site to learn more about it. Here I just want to let you know that APress just published a book about D and its "Tango" library. As far as I know "Tango with D" is the first book about this wonderful language.
If you have not heard about D, you owe it to yourself to look at it. Most C++ programmers will fall in love with it, and I personally hope it will replace C as a dominant language on Linux, especially after seeing it perform well on programming language shootout. Good thing about D is that there are already two implementations of it and one of them is a front end to GCC.
Well... first book is always great, let's hope it will increase the visibility for D. Congratulations to D community!
P.S. My only concern is the name. While "D" sounds awesomly geeky and sufficiently attractive while implying the underlying superiority over C++, this is the absolutely terrible name as far as search engines are concerned. Try googling for "arrays in D" to see what I mean.
Wednesday, December 5, 2007
Thursday, November 29, 2007
Pikluk! Browser and Email for Kids
I get asked a lot about Pikluk, our new startup venture. Questions like how we are doing and why are we better than NetNanny always come up, especially among my tech-savvy friends. We tried our best to build the web site as simple and informative as possible, but it wouldn't hurt to explain it again, using less marketing-speak.
Pikluk is by far the most simple way to allow your kid to use the Internet. Sure, there are multiple content filtering packages out there, and big companies sell some scary software that literally is indistinguishable from a rootkit that spies on your own children and sends you reports by email. Yes, there are plenty of people doing similar things, but not quite the same.
Pikluk is simple. Just define two lists:
List for the web sites
Another list for email addresses
... and those are the only resources your child will have access to. The entire process takes seconds. Once you're done, you'll have a fully functioning children's browser and secure email.
We have kept it simple, just two main features: secure email for kids, and a safe web browser. Check out the screen shot.
Parents can also explore around and select from the most popular sites that other parents have already added for their kids. Everything is, of course, anonymous.
Pikluk Tech
Our browser is built upon Internet Explorer, and everything about the content and the look and feel is controlled remotely. The content is completely customizable by the parents through the Parent Dashboard on www.pikluk.com. The browser can optionally "lock" your kids in, not allowing them to switch to other programs and wander about.
Pikluk is built on the Linux platform using a couple of dynamic languages, and from my posts it is fairly easy to guess which ones. Starting it up was a lot of fun, especially once first emails from real customers started to pour in. Things got even more exciting once very happy emails started to appear. And of course, we were giddy with excitement when the first paying customers started to trickle in.
Check it out, spread the word! Pikluk - the web browser and email for kids!
P.S. This is my last shameless self-promoting post, I promise :)
Pikluk is by far the most simple way to allow your kid to use the Internet. Sure, there are multiple content filtering packages out there, and big companies sell some scary software that literally is indistinguishable from a rootkit that spies on your own children and sends you reports by email. Yes, there are plenty of people doing similar things, but not quite the same.
Pikluk is simple. Just define two lists:
List for the web sites
Another list for email addresses
... and those are the only resources your child will have access to. The entire process takes seconds. Once you're done, you'll have a fully functioning children's browser and secure email.
We have kept it simple, just two main features: secure email for kids, and a safe web browser. Check out the screen shot.
Parents can also explore around and select from the most popular sites that other parents have already added for their kids. Everything is, of course, anonymous.
Pikluk Tech
Our browser is built upon Internet Explorer, and everything about the content and the look and feel is controlled remotely. The content is completely customizable by the parents through the Parent Dashboard on www.pikluk.com. The browser can optionally "lock" your kids in, not allowing them to switch to other programs and wander about.
Pikluk is built on the Linux platform using a couple of dynamic languages, and from my posts it is fairly easy to guess which ones. Starting it up was a lot of fun, especially once first emails from real customers started to pour in. Things got even more exciting once very happy emails started to appear. And of course, we were giddy with excitement when the first paying customers started to trickle in.
Check it out, spread the word! Pikluk - the web browser and email for kids!
P.S. This is my last shameless self-promoting post, I promise :)
Monday, November 19, 2007
Adobe Flash/Flex. Plague of the Web.
Someone posted a question recently on hacker news asking what kind of new software technologies readers are into. Few years ago I would be quite eager to jump on such discussion, raving about something really cool I had just discovered and picked apart in my free time.
I do not follow every announcement from Microsoft, Sun or even Google anymore. After riding this crazy technology train ever since I graduated in 99, I forced myself to slow down and re-evaluate everything I have ever picked up. Turns out it wasn't that much. More than half of what came around had gotten obsolete or irrelevant or proven to be dead wrong.
On the other hand, I see the same old (sometimes scary-old) and good ideas coming back into fashion over and over again being re-packaged into newer and trendier buzzwords.
Did you notice how web programmers pissed all over themselves when they happily discovered MVC? Do you have any idea how old the concept is? Didn’t you find it ironic how JavaScript suddenly became trendy, and not just for the Web, and how its zealots love to name-drop first-class functions and closures it borrowed from 2nd oldest computer programming language in the world?
This is why I started moving back in time about 2 years ago, my latest books are all about “good old stuff”. I met the beauty of Smalltalk and liberating flexibility of Lisp. Bam-m-m! And Boost with its binding facility did not look so sexy anymore… These languages, or should I say cultures, did not land me any gigs and I haven’t done any projects with them, but they helped me to notice and pick up Python and Ruby, discover bash and vim, and enjoy the freshness and simplicity of a plain ASCII text file, free of XML garbage.
Old tech can feel very refreshing after years of Win32, GDI, COM, XML/XSLT/XPath and .NET. Most of that is nearly useless now and the stuff hasn’t even been around that long... I guess I got lucky for not ever touching Java after college - that would be another pile of wasted neurons in my head.
Some "New" Tech is Scary.
In fact (or maybe it comes with age) I started to dislike "new technologies". They are scary, like Flash/Flex/Air from Adobe. I see a great danger of "web runtime" being controlled by a single company, even if they are playing nice and flirting with open source community. If not stopped, Adobe will soon become "Microsoft of the Web" and they will be in control of "Web OS", turning browsers into dumb and irrelevant hosts for Flash Runtime. That is precisely why I want AIR to fail and I hope that more web applications will stick to standards-based HTML/CSS/JavaScript as opposed to moving to Adobe world.
It is sad that Miguel de Icaza, who I have great respect for, is not seeing this when he enthusiastically speaks out on Silverlight issue.
Adobe already controls video on the Internet (YouTube, Google Video) and soon, by looking at the trend established by startups like Anywhere.fm, Songza and Scribd, Adobe will have the sound and “universal document” formats under their API umbrella. Do not overestimate the power that comes with a monopoly on APIs.
People go nuts these days if they discover a useful web application that's got "Designed for Internet Explorer" stamp on it, but nobody has ever complained about "Designed for Flash" sites that often have zero HTML content on them. Why is that? If anything, Flash is more proprietary in nature than IE. Not only Flash has closed-source implementation, everything about it is proprietary and not standardized: the runtime, development tools, data formats, etc.
What amazing is that nobody seems to notice... Flash is slowly taking over the Web absolutely unnoticed. What happened? Where are you, open-standards proponents? Where are you, folks who used to whine about IE's monopoly? At least Internet Explorer supports a significant portion of HTML/CSS/JS standards. Sure IE has always had Microsoft-specific extensions, but they were only extensions - the basic foundation has always been open. Flash is none of that - Flash represents Adobe's own and complete redesign of the Web.
The only thing stopping them from completely taking over is somewhat higher cost of entry for content producers, i.e. developers and designers. A simple Flash/Flex web form with back-end server scripts is not nearly as trivial to implement as a typical PHP/Rails one-page tutorial.
I like the addition of VIDEO and AUDIO tags to HTML5, I like SVG, but I am afraid by the time all mainstream browsers adopt these features it will be too late. More specifically, I am afraid that IE8 won't be out for the next 3-5 years. Without new IE Flash/Silverlight will win.
Some would disagree arguing that developing for Flash/Flex frees you from browser incompatibilities. They would say that Adobe has not been hostile the way Microsoft has been. To those, I say that any Monarch, albeit wise, loving and open to his peoples, dies sooner or later. And nobody can tell who is coming next.
Therefore let's stick to democracy and avoid rulers altogether.
I do not follow every announcement from Microsoft, Sun or even Google anymore. After riding this crazy technology train ever since I graduated in 99, I forced myself to slow down and re-evaluate everything I have ever picked up. Turns out it wasn't that much. More than half of what came around had gotten obsolete or irrelevant or proven to be dead wrong.
On the other hand, I see the same old (sometimes scary-old) and good ideas coming back into fashion over and over again being re-packaged into newer and trendier buzzwords.
Did you notice how web programmers pissed all over themselves when they happily discovered MVC? Do you have any idea how old the concept is? Didn’t you find it ironic how JavaScript suddenly became trendy, and not just for the Web, and how its zealots love to name-drop first-class functions and closures it borrowed from 2nd oldest computer programming language in the world?
This is why I started moving back in time about 2 years ago, my latest books are all about “good old stuff”. I met the beauty of Smalltalk and liberating flexibility of Lisp. Bam-m-m! And Boost with its binding facility did not look so sexy anymore… These languages, or should I say cultures, did not land me any gigs and I haven’t done any projects with them, but they helped me to notice and pick up Python and Ruby, discover bash and vim, and enjoy the freshness and simplicity of a plain ASCII text file, free of XML garbage.
Old tech can feel very refreshing after years of Win32, GDI, COM, XML/XSLT/XPath and .NET. Most of that is nearly useless now and the stuff hasn’t even been around that long... I guess I got lucky for not ever touching Java after college - that would be another pile of wasted neurons in my head.
Some "New" Tech is Scary.
In fact (or maybe it comes with age) I started to dislike "new technologies". They are scary, like Flash/Flex/Air from Adobe. I see a great danger of "web runtime" being controlled by a single company, even if they are playing nice and flirting with open source community. If not stopped, Adobe will soon become "Microsoft of the Web" and they will be in control of "Web OS", turning browsers into dumb and irrelevant hosts for Flash Runtime. That is precisely why I want AIR to fail and I hope that more web applications will stick to standards-based HTML/CSS/JavaScript as opposed to moving to Adobe world.
It is sad that Miguel de Icaza, who I have great respect for, is not seeing this when he enthusiastically speaks out on Silverlight issue.
Adobe already controls video on the Internet (YouTube, Google Video) and soon, by looking at the trend established by startups like Anywhere.fm, Songza and Scribd, Adobe will have the sound and “universal document” formats under their API umbrella. Do not overestimate the power that comes with a monopoly on APIs.
People go nuts these days if they discover a useful web application that's got "Designed for Internet Explorer" stamp on it, but nobody has ever complained about "Designed for Flash" sites that often have zero HTML content on them. Why is that? If anything, Flash is more proprietary in nature than IE. Not only Flash has closed-source implementation, everything about it is proprietary and not standardized: the runtime, development tools, data formats, etc.
What amazing is that nobody seems to notice... Flash is slowly taking over the Web absolutely unnoticed. What happened? Where are you, open-standards proponents? Where are you, folks who used to whine about IE's monopoly? At least Internet Explorer supports a significant portion of HTML/CSS/JS standards. Sure IE has always had Microsoft-specific extensions, but they were only extensions - the basic foundation has always been open. Flash is none of that - Flash represents Adobe's own and complete redesign of the Web.
The only thing stopping them from completely taking over is somewhat higher cost of entry for content producers, i.e. developers and designers. A simple Flash/Flex web form with back-end server scripts is not nearly as trivial to implement as a typical PHP/Rails one-page tutorial.
I like the addition of VIDEO and AUDIO tags to HTML5, I like SVG, but I am afraid by the time all mainstream browsers adopt these features it will be too late. More specifically, I am afraid that IE8 won't be out for the next 3-5 years. Without new IE Flash/Silverlight will win.
Some would disagree arguing that developing for Flash/Flex frees you from browser incompatibilities. They would say that Adobe has not been hostile the way Microsoft has been. To those, I say that any Monarch, albeit wise, loving and open to his peoples, dies sooner or later. And nobody can tell who is coming next.
Therefore let's stick to democracy and avoid rulers altogether.
Monday, October 22, 2007
Respect C Programmers
During last few weeks I noticed quite a few blog articles and online discussions dedicated to something awful: bashing C as a language and C programmers who still use it and especially those who LIKE to use it. The bashing seems to be coming primarily from adepts of higher-level languages, filled with self-proclaimed superiority mixed with camouflaged attempts to proclaim the other side stupid. Even well recognized C hackers like Torvalds got their share of criticism in a rather rude manner.
And I have a big problem with that.
But before I explain myself, lets look closer what high-level language geniuses have to say. Summarizing, it predictably sounds like C is too low level and using it in 2007 is like programming in assembly language which is Forrest Gump stupid. More specific drawbacks of being so bare metal include but not limited to the following statements:
Programming in C is too slow and unproductive.
C programmers by default are performing premature optimization.
C-style of memory management is inferior to automatic garbage collectors found in modern VM implementations.
C programs have more bugs in them.
C programs are prone to security vulnerabilities.
C programmers write too many for loops and look stupid doing it.
C is not that fast. Actually Java is almost as fast now!
C programmers are not cost effective and picking C as a language of choice is bad business decision.
You can have a full blown argument for each of those bullet points but I won't. Instead, I want to point your attention to something else.
Dear Haskell People...
You see, most of you Haskell/Lisp/Erlang gurus are true intellectuals and are very capable. You write very well: many great “functional-style programmers” like you have nicely written blogs filled with sacks of good thoughts and ideas.
However, when I look around I rarely see any results of your work. I browse APT repository on Debian, sometimes I check out various shareware for Windows, I follow promising software reviews. I see interesting new projects pop up here and there, and almost everything is done in C. Maybe it is just me, but most of the software I'd personally use on my computers is written in that retarded and unproductive language you dislike so much.
I am counting real software, not software jobs. Because, as many of you already know, most software jobs exist out there solely to produce boring crap around SQL server of some sort for the enterprise with very few exceptions. That's the enterprise software forya. People still use it, but only if you pay them salaries. Here I want to concentrate on software people actually want to use themselves. Even pay for it. Real dollars, you know? And I don't see much of that written in higher level languages, let alone functional ones.
Moreover, looking around I can't help but notice that somehow those "stupid and ignorant" C programmers managed to build everything that powers the Internet and computers in general: GCC, Apache, Operating systems they run under, numerous tools, Gnome+friends, Doom, system utilities and personal money managers - the list is huge. Nearly everything is written in C. And it's not just legacy: if you focus on projects started within last 5 years the picture will not change much.
Meanwhile, higher-level language intellectuals produced very little. On my Ubuntu desktop I do not believe I have a single piece of software written in Haskell or Lisp. I tried Eclipse but continued looking for something usable until I discovered Vim. Even mighty Python has mostly been kept as a tool to write helper scripts as more powerful replacement for bash. I am not saying there aren't any programs written in higher level languages, I am just saying that ratio of C-to-everything-else is profound.
Why is that? Haskel/Lisp hackers, I enjoy reading books you write, blogs you maintain and I find your comments on most programming topics on slashdot very insightful. However, if your language is so superior and it makes you guys so much more productive, why don't you flood us with actual software written in it? Besides your own server-side web applications? I see so many articles and tutorials that end with "WOOW in 5 lines of code!" or "WOOW re-written in less than a week!" that it seems that all that increased productivity and your superior intelligence should compensate somewhat for your smaller number of heads.
Meanwhile, C programmers just get things done. This is why survival of any new high-level super language will always depend on having a reliable and easy interface to C. Why? Because the entire world is written in C by guys who are too busy coding and do not have time to bash cocky Haskell people in their blogs.
Peace. Respect. Love.
And I have a big problem with that.
But before I explain myself, lets look closer what high-level language geniuses have to say. Summarizing, it predictably sounds like C is too low level and using it in 2007 is like programming in assembly language which is Forrest Gump stupid. More specific drawbacks of being so bare metal include but not limited to the following statements:
Programming in C is too slow and unproductive.
C programmers by default are performing premature optimization.
C-style of memory management is inferior to automatic garbage collectors found in modern VM implementations.
C programs have more bugs in them.
C programs are prone to security vulnerabilities.
C programmers write too many for loops and look stupid doing it.
C is not that fast. Actually Java is almost as fast now!
C programmers are not cost effective and picking C as a language of choice is bad business decision.
You can have a full blown argument for each of those bullet points but I won't. Instead, I want to point your attention to something else.
Dear Haskell People...
You see, most of you Haskell/Lisp/Erlang gurus are true intellectuals and are very capable. You write very well: many great “functional-style programmers” like you have nicely written blogs filled with sacks of good thoughts and ideas.
However, when I look around I rarely see any results of your work. I browse APT repository on Debian, sometimes I check out various shareware for Windows, I follow promising software reviews. I see interesting new projects pop up here and there, and almost everything is done in C. Maybe it is just me, but most of the software I'd personally use on my computers is written in that retarded and unproductive language you dislike so much.
I am counting real software, not software jobs. Because, as many of you already know, most software jobs exist out there solely to produce boring crap around SQL server of some sort for the enterprise with very few exceptions. That's the enterprise software forya. People still use it, but only if you pay them salaries. Here I want to concentrate on software people actually want to use themselves. Even pay for it. Real dollars, you know? And I don't see much of that written in higher level languages, let alone functional ones.
Moreover, looking around I can't help but notice that somehow those "stupid and ignorant" C programmers managed to build everything that powers the Internet and computers in general: GCC, Apache, Operating systems they run under, numerous tools, Gnome+friends, Doom, system utilities and personal money managers - the list is huge. Nearly everything is written in C. And it's not just legacy: if you focus on projects started within last 5 years the picture will not change much.
Meanwhile, higher-level language intellectuals produced very little. On my Ubuntu desktop I do not believe I have a single piece of software written in Haskell or Lisp. I tried Eclipse but continued looking for something usable until I discovered Vim. Even mighty Python has mostly been kept as a tool to write helper scripts as more powerful replacement for bash. I am not saying there aren't any programs written in higher level languages, I am just saying that ratio of C-to-everything-else is profound.
Why is that? Haskel/Lisp hackers, I enjoy reading books you write, blogs you maintain and I find your comments on most programming topics on slashdot very insightful. However, if your language is so superior and it makes you guys so much more productive, why don't you flood us with actual software written in it? Besides your own server-side web applications? I see so many articles and tutorials that end with "WOOW in 5 lines of code!" or "WOOW re-written in less than a week!" that it seems that all that increased productivity and your superior intelligence should compensate somewhat for your smaller number of heads.
Meanwhile, C programmers just get things done. This is why survival of any new high-level super language will always depend on having a reliable and easy interface to C. Why? Because the entire world is written in C by guys who are too busy coding and do not have time to bash cocky Haskell people in their blogs.
Peace. Respect. Love.
Monday, October 15, 2007
Life before Google
While driving to work the other day I caught myself thinking: what did I use for online search before google came out?
There was yahoo search, there was definitely altavista, I loved the way it sounded... But did I use them on a regular basis? How often? I can't recall.
I could remember my “google day” very clearly: I was looking to buy a car and one of my friends stopped by my office right before lunch and suggested to run some google searches to see what comes up. I do not remember being particularly impressed by the search results, but the simplicity of the front page was what caught my initial attention.
Then, almost the next day, someone suggested searching for “dumb m@$%ker” online and the bio of one of presidential candidates showed up. Jokes like that were much easier to do back then.
And I was happily googling ever since. However, I honestly cannot answer this question: what did I search with before?
The more I think about it, the more I am starting to realize that I didn't. I did not search back then. Well, not that much. Wasn't part of my daily ritual, you know. “Internet without Search” sounds almost idiotic in 2007 but in 1999 it was OK.
It just occurred to me that I didn't do a lot of things back then. And only now I realize how different the Internet has become. It appears that google all by itself dramatically changed the way I use the Internet. I am talking about my personal experience here and not trying to generalize, but I strongly suspect it is not just me.
What has changed since Google?
I stopped bookmarking things. Why? I can always search for the damn thing and find it again. In fact, it will take fewer keystrokes to get there and in case something better comes along I'll get on it right away.
I stopped using specialized sites like edmunds.com. If I want to read up on some vehicle, or anything, for that matter - google will show me the specs and reviews much, much faster than stupid edmunds with their multi-level menu drill down, killed by a naïve question “what is your ZIP code?” at the end. Are you out of your minds, edmunds?
Actually, edmunds was not a particularly good example. I stopped using sites way better than edmunds, like weather.com, yahoo movies, financial sites, etrade, fool, even calculator, dictionary and Microsoft Excel for many cases! Everything could be done by a simple text box and “Search” button. Faster.
In fact I stopped using the address bar all together, just like many others – Firefox has an alternative “address bar” that is powered by Google and is proper: no need to add “.com” or retarded “www” to everything and accidental misspellings will get fixed. Isn't that sweet? Just go Ctrl+K instead of Alt+D.
I do not have POP3 email client software anywhere. Gmail, even though it does not have folders and uses “collapsed” conversations without an option for normal people, was by leaps and bounds the best web-based email program. My primary address is 10 years old and does not end with '@gmail' but I tunnel all my messages through gMail anyway simply because they eliminate spam. 99.999% of it, like nobody else.
I stopped using my personal site. I still have an account and paying for hosting for nostalgic reasons, but I don't need it. I used to store family photos and useful files up there on FTP, just in case I'll need them when away from home. With ad-free Picasa and the giant gmail mailbox I don't need those either.
Finally, all sorts of Yellow Pages became history: online, offline – does not matter. Google finds that stuff too. Phone companies finally (!) realized that as well and stopped bombarding me with those useless yellow bricks.
Who can compete with Google? Compete for my “Internet time”? Only Wikipedia comes to mind, in fact I often throw in a short and effective 'wiki' at the end of my searches just to make sure I am getting wikipedia's perspective as my first search result.
And I never paid a dime for all this informational nirvana... Incredible.
There was yahoo search, there was definitely altavista, I loved the way it sounded... But did I use them on a regular basis? How often? I can't recall.
I could remember my “google day” very clearly: I was looking to buy a car and one of my friends stopped by my office right before lunch and suggested to run some google searches to see what comes up. I do not remember being particularly impressed by the search results, but the simplicity of the front page was what caught my initial attention.
Then, almost the next day, someone suggested searching for “dumb m@$%ker” online and the bio of one of presidential candidates showed up. Jokes like that were much easier to do back then.
And I was happily googling ever since. However, I honestly cannot answer this question: what did I search with before?
The more I think about it, the more I am starting to realize that I didn't. I did not search back then. Well, not that much. Wasn't part of my daily ritual, you know. “Internet without Search” sounds almost idiotic in 2007 but in 1999 it was OK.
It just occurred to me that I didn't do a lot of things back then. And only now I realize how different the Internet has become. It appears that google all by itself dramatically changed the way I use the Internet. I am talking about my personal experience here and not trying to generalize, but I strongly suspect it is not just me.
What has changed since Google?
I stopped bookmarking things. Why? I can always search for the damn thing and find it again. In fact, it will take fewer keystrokes to get there and in case something better comes along I'll get on it right away.
I stopped using specialized sites like edmunds.com. If I want to read up on some vehicle, or anything, for that matter - google will show me the specs and reviews much, much faster than stupid edmunds with their multi-level menu drill down, killed by a naïve question “what is your ZIP code?” at the end. Are you out of your minds, edmunds?
Actually, edmunds was not a particularly good example. I stopped using sites way better than edmunds, like weather.com, yahoo movies, financial sites, etrade, fool, even calculator, dictionary and Microsoft Excel for many cases! Everything could be done by a simple text box and “Search” button. Faster.
In fact I stopped using the address bar all together, just like many others – Firefox has an alternative “address bar” that is powered by Google and is proper: no need to add “.com” or retarded “www” to everything and accidental misspellings will get fixed. Isn't that sweet? Just go Ctrl+K instead of Alt+D.
I do not have POP3 email client software anywhere. Gmail, even though it does not have folders and uses “collapsed” conversations without an option for normal people, was by leaps and bounds the best web-based email program. My primary address is 10 years old and does not end with '@gmail' but I tunnel all my messages through gMail anyway simply because they eliminate spam. 99.999% of it, like nobody else.
I stopped using my personal site. I still have an account and paying for hosting for nostalgic reasons, but I don't need it. I used to store family photos and useful files up there on FTP, just in case I'll need them when away from home. With ad-free Picasa and the giant gmail mailbox I don't need those either.
Finally, all sorts of Yellow Pages became history: online, offline – does not matter. Google finds that stuff too. Phone companies finally (!) realized that as well and stopped bombarding me with those useless yellow bricks.
Who can compete with Google? Compete for my “Internet time”? Only Wikipedia comes to mind, in fact I often throw in a short and effective 'wiki' at the end of my searches just to make sure I am getting wikipedia's perspective as my first search result.
And I never paid a dime for all this informational nirvana... Incredible.
Tuesday, October 2, 2007
Is Privacy Overrated?
Recently I noticed an interesting trend among people I know. I am not sure how to express it in full other than by giving you a few examples.
I few people I know have WEP/WPA encryption turned off on their wireless routers. They claim they do not really care if someone is using their Internet connection. Warning them about potential security issues with strangers breaking through Windows networking, lurking around inside of their computers looking for credit card numbers did not raise as much of a concern as I expected. Not as much as it used to anyway. How did they explain it? Apparently they cannot stand the hassle of dealing with passwords for every WiFi device that makes its way into their house, especially for those that do not have keyboards.
I also knew quite a few people, especially older relatives, who never managed to put their family photos online because they felt it was silly to have your private life exposed for everyone to see on the Internet. The issue was not technical: they have always known how to upload photos. But more and more of them are getting Picasa and Flickr accounts and upload their pictures now. They changed their mind.
Meanwhile I was approached by more than one person asking me to "build something" that will liberate them from logging into tens of web sites every day. Apparently all mainstream browsers are still not helpful it with all those "remember-your-password" features.
Don't you find it strange? While tech media cannot get enough of identity theft stories and companies like Micorsoft get hammered by online press almost weekly for yet another exposed security hole in IE, real customers, real people (around me at least), seem to care about those things less and less. A while ago people used to call GPS feature on their cell phones spooky because "anyone would be able to track me wherever I am" but look what really happened: even without GPS you see thousands of happy Twitter users announcing their every step to anyone who'll listen.
Do we Really Care about Privacy?
Privacy is a broad term and I prefer to think more of online anonymity. Back in early Internet years there was a lot more excitement about coolness of being anonymous. Expressing yourself, letting your voice be heard by thousands without fear of reprisals from an employer or your government was how the whole idea of the Internet was perceived by many who never heard of it before.
Fast forward to 2007 and let me ask you: Do you really want to listen to what Mr. Anonymous has to say? Have you noticed how meaningless and short, if not offensive, anonymous comments usually are? Well, enough about others, think of your own experience. Do you like to be anonymous? Really? Think of every time when a web application wants you to log in again and again, whenever you receive spam, whenever you type your name and credit card number the millionth time in your life or whenever your browser pops up a message with something about cookies or submitting insecure data to "scary Internet". And I haven't even asked the web developers. How fun is it for them to deal with anonymous visitors. Don't you find online anonymity simply annoying at times?
Does online anonymity really buy us anything?
I wonder how it would be like if DHCP did not exist?
Nobody is ever Anonymous. Try to imagine an absolutely unique "IP address" assigned to every person on earth immediately after birth. You add that ID to their connection IP address along with ID of the device they are accessing the net. No need to log in, if you are online, "the Internet" already knows who you are. This gives us an incredible accuracy at identifying who and when gets access to what. Sounds like a nightmare doesn't it? That is some scary future that Hollywood warned us about in "Minority Report" huh?
But how different it really is from what we already have? After all, we're not really anonymous. Interested parties (think RIAA) will get you even though they still need to get a court order to squeeze your real address out of your ISP. Imagine the state of affairs in North Korea, how anonymous their Internet users really are?
It seems to me that we are getting all the headaches of the anonymous Internet without any real anonymity. And judging by what people around me are saying, I would suggest that annoyances of online anonymity are eclipsing the fake sense of security it provides.
Don't you think that "scary future" is not that scary but rather convenient? Or am I being naïve?
I few people I know have WEP/WPA encryption turned off on their wireless routers. They claim they do not really care if someone is using their Internet connection. Warning them about potential security issues with strangers breaking through Windows networking, lurking around inside of their computers looking for credit card numbers did not raise as much of a concern as I expected. Not as much as it used to anyway. How did they explain it? Apparently they cannot stand the hassle of dealing with passwords for every WiFi device that makes its way into their house, especially for those that do not have keyboards.
I also knew quite a few people, especially older relatives, who never managed to put their family photos online because they felt it was silly to have your private life exposed for everyone to see on the Internet. The issue was not technical: they have always known how to upload photos. But more and more of them are getting Picasa and Flickr accounts and upload their pictures now. They changed their mind.
Meanwhile I was approached by more than one person asking me to "build something" that will liberate them from logging into tens of web sites every day. Apparently all mainstream browsers are still not helpful it with all those "remember-your-password" features.
Don't you find it strange? While tech media cannot get enough of identity theft stories and companies like Micorsoft get hammered by online press almost weekly for yet another exposed security hole in IE, real customers, real people (around me at least), seem to care about those things less and less. A while ago people used to call GPS feature on their cell phones spooky because "anyone would be able to track me wherever I am" but look what really happened: even without GPS you see thousands of happy Twitter users announcing their every step to anyone who'll listen.
Do we Really Care about Privacy?
Privacy is a broad term and I prefer to think more of online anonymity. Back in early Internet years there was a lot more excitement about coolness of being anonymous. Expressing yourself, letting your voice be heard by thousands without fear of reprisals from an employer or your government was how the whole idea of the Internet was perceived by many who never heard of it before.
Fast forward to 2007 and let me ask you: Do you really want to listen to what Mr. Anonymous has to say? Have you noticed how meaningless and short, if not offensive, anonymous comments usually are? Well, enough about others, think of your own experience. Do you like to be anonymous? Really? Think of every time when a web application wants you to log in again and again, whenever you receive spam, whenever you type your name and credit card number the millionth time in your life or whenever your browser pops up a message with something about cookies or submitting insecure data to "scary Internet". And I haven't even asked the web developers. How fun is it for them to deal with anonymous visitors. Don't you find online anonymity simply annoying at times?
Does online anonymity really buy us anything?
I wonder how it would be like if DHCP did not exist?
Nobody is ever Anonymous. Try to imagine an absolutely unique "IP address" assigned to every person on earth immediately after birth. You add that ID to their connection IP address along with ID of the device they are accessing the net. No need to log in, if you are online, "the Internet" already knows who you are. This gives us an incredible accuracy at identifying who and when gets access to what. Sounds like a nightmare doesn't it? That is some scary future that Hollywood warned us about in "Minority Report" huh?
But how different it really is from what we already have? After all, we're not really anonymous. Interested parties (think RIAA) will get you even though they still need to get a court order to squeeze your real address out of your ISP. Imagine the state of affairs in North Korea, how anonymous their Internet users really are?
It seems to me that we are getting all the headaches of the anonymous Internet without any real anonymity. And judging by what people around me are saying, I would suggest that annoyances of online anonymity are eclipsing the fake sense of security it provides.
Don't you think that "scary future" is not that scary but rather convenient? Or am I being naïve?
Thursday, September 13, 2007
On Programmers and Business
Software development, just as science fiction writers predicted some fifty years ago, is becoming more and more common activity people are engaged in. Software drives not just traditional computers, it now propels literally everything plugged in; phones, cameras, TVs, cars, even washing machines. The knowledge of at least one simple programming language soon will be as essential as basic writing skills. Why? Because as the complexity of average software increases, professional programmers become less affordable and less accessible for basic programming tasks.
Let me explain.
Just recently a friend of mine was asking for some help with Excel. He needed a fairly intelligent macro for some intense spreadsheet transformations. I had to explain that it would probably cost him about six hours of programmer's time and no programmer will do it for less than at least $60/hour. Actually... no programmer will do it. Period. Because it is boring. Because they have "better things to do" for $60 an hour. Outsourcing ultimately is not going to help because the population of laptops, cell phones, TVs, microwaves and other programmable devices is growing much faster than world-wide population of professional programmers. Therefore nobody will help you with your basic programming tasks.
And you will always have some basic programming tasks, simply because more and more of what we do includes programmable devices. And off-the-shelf components created by professional programmers will not keep up. Charging your customers money, for instance, used to be a purely mechanical operation; you'd put a smile on your face, stick your hand out and a customer lands a $10 bill on your palm. Now you would want to set up a merchant account hooked to a payment gateway all integrated into your accounting and possibly other software. And you inevitably will want something more, something custom from your (without a doubt) highly customizable software. Why? Because it is customizable. But mostly because you already know: what you want is possible. Because it, whatever you have on hands, is programmable.
And programmers willing to help you are getting scarce. The alternative? Learn to do it yourself. Visual Basic (or bash scripting - depends on who's reading this) should be next to English in an average school's curriculum.
Programmers are expensive. Geez... they are getting more expensive every year. And the software they build is getting more complex. And more essential to whatever you do. Starting almost any kind of company these days involves hiring programmers. Your business does not need to be in information technology, but you have to hire programmers anyway.
Bad Programmers
Now lets think about starting companies. Some of them get born, grow, transform, evolve and eventually succeed. But others miserably crash and burn. Books get written about those failures, articles get published and MBA students are getting fresh real world cases to study and learn from. They blame CEOs for their mistakes. They blame ineffective marketing strategies, strong competition and only god knows what else those MBAs are trained to blame failures on.
But you know what? I have grown to suspect that a lot of companies are failing simply because they hired dumb engineers. There are several factors that lead me to believe this.
First, as I said above, programmers are becoming more important as software becomes more vital to what most companies do. Therefore, the impact the quality of engineers has on business has grown substantially. Second, it is very hard to find good programmers because there are fewer and fewer of them measured in "PPD" (per programmable device). And finally, it is damn near impossible to tell good programmer apart from a bad one unless you happened to be an engineer yourself. And most companies are not started by engineers.
Do they teach this in business schools these days? Do they teach that dumb engineers will have an immense impact on your business? A sufficiently dumb engineer may hurt you more than most competitors will. When organized in loose formations, even in modest numbers, they can even kill an otherwise healthy business. I'll write some more about those blood sucking yet fascinating creatures a bit later.
You may label this post as "self important crap" and you are welcome to, but isn't it everyone's belief that his or her profession is the most important one? Similar to university professors who almost without exceptions believe their course is the most valuable.
Let me explain.
Just recently a friend of mine was asking for some help with Excel. He needed a fairly intelligent macro for some intense spreadsheet transformations. I had to explain that it would probably cost him about six hours of programmer's time and no programmer will do it for less than at least $60/hour. Actually... no programmer will do it. Period. Because it is boring. Because they have "better things to do" for $60 an hour. Outsourcing ultimately is not going to help because the population of laptops, cell phones, TVs, microwaves and other programmable devices is growing much faster than world-wide population of professional programmers. Therefore nobody will help you with your basic programming tasks.
And you will always have some basic programming tasks, simply because more and more of what we do includes programmable devices. And off-the-shelf components created by professional programmers will not keep up. Charging your customers money, for instance, used to be a purely mechanical operation; you'd put a smile on your face, stick your hand out and a customer lands a $10 bill on your palm. Now you would want to set up a merchant account hooked to a payment gateway all integrated into your accounting and possibly other software. And you inevitably will want something more, something custom from your (without a doubt) highly customizable software. Why? Because it is customizable. But mostly because you already know: what you want is possible. Because it, whatever you have on hands, is programmable.
And programmers willing to help you are getting scarce. The alternative? Learn to do it yourself. Visual Basic (or bash scripting - depends on who's reading this) should be next to English in an average school's curriculum.
Programmers are expensive. Geez... they are getting more expensive every year. And the software they build is getting more complex. And more essential to whatever you do. Starting almost any kind of company these days involves hiring programmers. Your business does not need to be in information technology, but you have to hire programmers anyway.
Bad Programmers
Now lets think about starting companies. Some of them get born, grow, transform, evolve and eventually succeed. But others miserably crash and burn. Books get written about those failures, articles get published and MBA students are getting fresh real world cases to study and learn from. They blame CEOs for their mistakes. They blame ineffective marketing strategies, strong competition and only god knows what else those MBAs are trained to blame failures on.
But you know what? I have grown to suspect that a lot of companies are failing simply because they hired dumb engineers. There are several factors that lead me to believe this.
First, as I said above, programmers are becoming more important as software becomes more vital to what most companies do. Therefore, the impact the quality of engineers has on business has grown substantially. Second, it is very hard to find good programmers because there are fewer and fewer of them measured in "PPD" (per programmable device). And finally, it is damn near impossible to tell good programmer apart from a bad one unless you happened to be an engineer yourself. And most companies are not started by engineers.
Do they teach this in business schools these days? Do they teach that dumb engineers will have an immense impact on your business? A sufficiently dumb engineer may hurt you more than most competitors will. When organized in loose formations, even in modest numbers, they can even kill an otherwise healthy business. I'll write some more about those blood sucking yet fascinating creatures a bit later.
You may label this post as "self important crap" and you are welcome to, but isn't it everyone's belief that his or her profession is the most important one? Similar to university professors who almost without exceptions believe their course is the most valuable.
Subscribe to:
Posts (Atom)