Monday, May 19, 2008

French court orders Windows refund - The INQUIRER

I've been hearing about patent law, open source and anti-monopoly trends in Europe for a while, where it appears the anti-monopoly laws are far stricter than in the US. In my IT experience, I have not heard of a case where a software company had to face extraordinary regulatory compliance beyond the scope of the US. If it happened at all, as it surely must have, it was rote, a matter of procedure, and very straightforward.

Now, though, companies that thrive in US markets and have had success in the world have a higher standard to meet. Microsoft's infamously popular use of Bundling (getting hardware makers and/or retailers to install a Microsoft OS on a machine, and forcing them to to pay a license even if another OS is installed) gets attacked here. Very interesting turn.....

French court orders Windows refund - The INQUIRER: "The facts of the case, m'learned fiends, are these: one of my estemeed countrymen wrote to Asus - after having bought an Asus machine which came with XP pre-installed - requesting a refund for the price of the software, given his predeliction to open sauce. The manufacturer told the consumer that the refund procedure it would apply would end up costing more than the actual value of the refund - a not-so-paltry €130. Understandably, the fellow was a little miffed and took his case to court, where UFC stepped in to lend a helping hand.

"In France, it is illegal to bundle software and to refuse to reimburse the customer for unwanted licences, under Article L.122-1 of the French Consumer Code."

Friday, May 02, 2008

My Etherealmind · Network Dictionary - Backhoe Attenuation

Brilliant!

A term I've used in IT for years, a "backhoe issue", refers to a real-world risk scenario for any web or Internet-based services single point of failure. You can spend kajillions on your load balanced, fail-over, clustered, RAID-based and secure network software system, and still find your business's day-to-day revenues are stalled by the simple application of a backhoe somewhere between your company and a large subset (or the whole) of your user base.

I've heard it described, probably by a colleague, or a consultant at one of my previous employers, to describe issues that need to be addressed to achieve "five nines", or 99.999% up-time guaranties. It is nice to see a more "official" definition exists out there in the real world.






My Etherealmind · Network Dictionary - Backhoe Attenuation: "Network Dictionary - Backhoe Attenuation

15 February 2008 in CCIE, Design, Network Dictionary | No comments

Backhoe Attenuation - term used to describe the loss of signal (attentuation) of your copper or fibre cable by a backhoe digging your cable out of the ground.

Failure is usually severe as the entire cable will need to the replaced."



Typically, you try to solve for it at your network center by either by dividing your audience among multiple network centers, so fewer people are affected by a backhoe, or by having redundant connections to the Internet. At Metron, we installed a connection to AT&T through cabling under our front wall, and a second connection to another company under our back wall. (Notice different walls. Redundancy doesn't help very much when you have both redundant connections bunched together for your backhoe to take out with one dig.)

Tuesday, September 19, 2006

The Evolution of the Internet

Have a friend who has been blogging for a while. He sent me his latest, http://gadgets.netscape.com/story/2006/09/17/make-an-ipod-case-from-a-milk-jug/, and asked me what I thought of Netscape's new incarnation.

I thought I would post our conversation for general review.

Victor's blog, by the way, can be found at http://superpixel.blogspot.com/.


Victor Agreda
to Vania

So what do you think of the "new" Netscape? I value your opinion, as a web dude, and overall tech person... They're trying really hard to make it work-- and "they" are my co-workers!


Vania Smrkovski
to Victor

To be honest, I almost didn't sign up. I had an aversion to signing up to "yet another social site". I have a friend who has a MySpace account, and he has some funny stuff, but initially he thought I would have to get an account there and I was reluctant to even bother to look at his stuff.

I signed up for Netscape because I had to in order to vote for your blog post. But in my mind, if other people are like me, they will have to fight upstream to get people to get involved.

Of course, I'm finding that I'm becoming representative of an older techie crowd, too, and I am finding that high school/college age ranges area sweet spot for these social network apps, and my opinion along these lines is simply representative of another market altogether.


Victor Agreda, Jr.
to Vania

do you ever visit digg.com?
or reddit or del.icio.us?
Just curious, as I really feel voting on content is an interesting model. I like the democracy of it. Of course, the downside is registration-- there's no fair way to do it otherwise. Maybe that's why marketers like it too ;)


Vania Smrkovski
to Victor

I'm familiar with digg and del.icio.us, of course, and I realized full well as I wrote my last comment that I was not "with it" in regards to these latest social experiments. I've been exploring them, trying to grok the zeitgeist of it all, and I too have found them fascinating.

I just remember the early days of the public Internet, how the first versions of "search engines" were monitored and maintained by the general public. It didn't work then, and I don't imagine that it will work as effectively in 6 months as it does now. It's a fad, and as such it will likely have various echos in the next ten years, a "next big thing" that celebrates the public role, and that "gets everyone involved", and all as fragile as every phase before, wilting in the hot sun of "neat-o-keen" pressures of other "next big things".

Through it all, I am certain of a couple of things. Open source, and therefore some watered-down version of all public-interaction projects, will never die. They will suffer from a massive down-turn in popularity, and will have to adapt to some more minimalistic form, which will be when they get really interesting.

If you doubt me on this, and think that YouTube, Digg and now Netscape (2.0) are in it for the long haul, remember that most of the revenue is being generated by ad revenue, and remember that in the late 90s, most of that dot-com boom was .... well... based on revenue based on ad revenue. The reason it died was that advertisers stopped paying for ads, which led to the first tier of companies no longer staying afloat, since their stocks were already in the toilet, which meant they went out of business and 2nd tier companies suddenly stopped receiving ad revenue from the same people that paid the 1st tier, and stopped receiving ad revenue from the 1st tier companies that went out of business. Vicious cycle.

There were a lot of reasons for all of this, but you could easily summarize by pointing out that the stock market is the very capitalistic equivalent of the open source, public interaction voting machine. People stopped being interested (for various reasons, of course) and stopped voting with their cash.

I figure if I'm at all right about this, then while we may not get another dot-bomb, while we may have enough momentum this time to survive down-turns, we still haven't got a machine that's tuned well, and there will be skips and stutters, and diggs and youtubes and others will find themselves stomped on by people looking to see the new kid in town, be it a virtual vibrator or another networked-mechanical-do-hickey.

I've been working on a toy that I hope is NBT survivable (NBT = Next Big Thing). It's based on providing the candy initially, hooking the heroine, so to speak, but providing the long-term satisfaction of actual usefulness. To explain, if you have a networked toolset that allows you to chat with people, and work from home, from your office and from your hand-held phone/computer seemlessly, then you have opportunity enough to get people hooked on "neat" things like chat and interaction-based sharing, etc. But if this whole kit also provides less-advertised features like a statically and remotely stored environment, where your home computer can explode, and you don't lose anything of value, and where you can easily collaborate with a colleague on something by simply giving them explosure to your personal projects, then once the "Next Big Thing" comes on the square, you have a good portion of your group honestly committed to you, because you are tied into their professional and personal development, you have things that will generate revenue in their future. You have introduced them to other people that are intrinsic to their personal development. And you, the company, have a captured audience to introduce your own "Next Big Things".

This may not be very clear, and I apologize. But the essense of what I'm describing isn't all that different from what Google has done. They have all sorts of "neat" things, like GMail, calendars, spread sheets. Sure, maybe 5-15% of their user base actually uses all of these or most of these. But that's fine, if they have 80-90% use of some other revenue generating products, and they still have a user base for the other ill-conceived ideas. If they keep them alive, then one day someone will come on the scene and say "You know, insert tab A into slot B, calendar and GMail and spreadsheet, and Google.org, and we have a ready-made vehicle to answer this NBT, and we don't have to spend months developing the whole thing. Now, where's that marketing guy when you need him. We're going to have dinner and discuss some things."

In a similar way, I'm certain that whatever a company develops, they have to assume that everyone will abandon it for some other new idea in 6 months to a year, and they'd better have some alternative plan already in beta by then or they're going to be providing interviews for Business Weekly on how yet another company announced lay-offs this week.

Did any of this actually answer your question? I'm re-reading it, and I don't know if it did.


Victor Agreda
to Vania

No, you're absolutely right on most of this. With the pace of the web, and how we're training managers to glom on to the "next big thing" there's a lot of this going around... One thing that is lost is the notion of the average consumer changing on a dime. That just doesn't happen, and I think that's a factor. There's still resistance in business too. Bear in mind many organizations still use NT and Office 97! Fewer every day but still...

I was trying for a freebie one-man focus group, but don't worry about it ;)

Everything you said to me should be in a blog. You should at least be blogging. Reminds me of John C. Dvorak. But you're very forward-thinking.

Couldn't agree more on Google. I use the Calendar, Gtalk, Gmail, Spreadsheet, Ads (both Sense and Words), Writely... and I posted on Download Squad a while back about them needing to get their shit together-- literally. They have a powerful "stateless" suite of products.

And let me tell you, after using Google AND Yahoo to place ads for Llamapod-- I know why Google makes so much money. WAY easier. Yahoo tries to woo with service in more traditional ways. Interesting approaches.

I'm very wary of this job, being tied to advertising.


Vania Smrkovski
to Victor

I am blogging, if somewhat sporadically. www.pandorasdream.com/blog

I think you'd be, like, the first visiter, or maybe the third, but no one I've told about it has admitted to actually going.... :-)

That's part of what I've observed about Internet NBTness. Like an iceberg, those who succeed are the visible 1% against a 99% hidden, and unused mass. One of the reasons, I think, the social networking phenomenon has cycled both IN popularity and OUT of popularity is that people think that their ideas will be available to the general public, but they forget that they have always encountered that environment, and they forget that those times, like middle school and high school, only the "cool" and "popular" ones really got any visibility. The Internet will still provide a leveling of the playing field, I think, but only because it's easier with millions of people to have some small fraction actually see the lowly dregs. In my high school, we only had a few hundred in each class, so one half of one percent was, like, a single finger. At least with millions and millions, you have a chance of two or three whole human beings actually feeling some sympathy, or at a minimum some sense of morbid curiosity at what you the blogger or social networker may have to offer.

As I was writing my last email, I was considering it as a blog. Horror though it may be, I may have to edit this email chain and blog.

Monday, March 27, 2006

Using ASP.NET Session State in a Web Service

Using ASP.NET Session State in a Web Service

This was a happy discovery. Haven't had a chance to take advantage of it, yet, as most of our focus is on .Net web apps, but we do occasionally use web services, and many of us thought web services were stateless.

Friday, March 10, 2006

Way To Go O.O.! - The Daily WTF (VSmirk)

Way To Go O.O.! - The Daily WTF (VSmirk)

Love this site. I've been too busy to really look at it lately, but it's a great way to see really, really bad code!

Thursday, March 09, 2006

An Article on Software Development Best Practices

Received an email at work today about this article: The Joel Test: 12 Steps to Better Code - Joel on Software. Now, myself, when I was planning on a move back to Knoxville, as my wife has an Internship here, the best candidate company I had down there at first was a financial services company that has been experimenting for the last two or so years in implementing Agile Processes.

In talking with a friend of mine who works there, I've learned they've got the whole gamut. They run hourly integration tests -- mind you we're talking automated tests. Everything is regularly recompiled and redeployed, although he admits that they've run into some trouble with the automated deploy process. Code is peer-reviewed before being checked in. Unit tests are written for most of the code that is produced.

I ended up taking a job with some former co-workers who have started a company. But I would have loved to have seen the Agile environment in practice!

Thursday, March 02, 2006

Coding and Design Blog

Okay, so I'm going to get topical, here. As a professional programmer, I have to present myself in the best light possible, but in any endeavor, you are truly trying to learn and explore, to find ways to grow in your chosen field, and in order to do that, you have to risk looking like you don't already know the answers and instead learn to be naive again, asking questions and finding new solutions.

That's what I aim to do here.

I have worked as a programmer, a systems analyst, investigating business requests and creating requirements for other developers, as a project manager, taking a defined project and working with a team to implement the proposed solutions, putting out fires, managing change, and as a systems architect, taking existing systems of software and databases and deciding how things should be arranged, or rearranged, to work more effectively and to be easier to maintain.

The fundamental aim of any business is to generate more revenue than is being spent on overhead. You want to make a profit. Anybody involved in even small investments of money and time has learned that sometimes you have to work at a loss before you get the intended returns. You may go into debt to go to college or to buy a car or a house. But if the car enables you to get to a high-paying job, or if college enables you to make even more money than you would otherwise, it is worth the investment.

Somehow, though, in business, there is a push to get those returns sooner rather than later. Perhaps it is because there are multiple people managing different responsibilities: bosses delegate responsibility for executing a task, but maintain responsibility for budget, and so start putting pressure on their underlings to cut costs and get their projects out sooner. Or perhaps it is because projects so often lose momentum, due to red tape and endless meetings, thereby creating a sense that projects have to be completed soon, at the expense of well-prepared design, or they will never get done at all. Or perhaps it is because there is a sense of futility in trying to planning things well, because no matter how much you plan, someone will change things, now or later, making most of the plan irrelevant -- and how much is that helping the company's bottom line?

So one of the biggest tasks for anybody in a senior developer or project management role is to balance the concerns for the bottom line with the real benefits of taking the time to plan, to design and to anticipate future needs.

An example: Someone comes to you and asks for a web application that brings up customer orders. All they want, they tell you, is to have the orders displayed along with the customer name and phone number in case they need to contact the customer when there are problems.

Easily done.

But what happens if you later on get a request to include the ability to add new customer records? Or to update the customer phone number once you've learned of a change?

What happens if your company starts taking clients who want you to manage their customers, as well? There are database tables already in existance which describe the customer, the orders they have made, the money they have paid. Now you have a decision to either use these existing tables, adding a field in the data table designating them as your customer, or your client's (and what happens if you both have that customer at different times?), or to create an entirely new system of tables, maybe based on your existing one, but only used for your client's customers?

Your decision maker is going to be struggling with the impulse to make this change quickly, while minimizing the chance of bugs occuring in your software. And one basic premise in software design is not to just copy and paste your existing code and data tables so you can have one work for your client. Why? Because now, any time you have to make a change, you have to make the matching change in your other copy of the code. Twice the work.

But I can tell you for a fact that, no matter how much the best intentions will be to modify applications to work flexibly under both circumstances, the interest of trying to get that project done sooner so you can start making money faster will always result in some or most of your problems being solved by copying entire bits of code, adding columns to an already big data table, including specific bits of code to handle one client's specific needs.

This blog is about these problems. It's about software development as a career. I will post occasional blogs about my own day-to-day challenges and discoveries, about questions or theories I am pondering, about articles I have read. About how and why programming solves our daily business and personal problems, and how things can be managed better.