Unosolo's comments

Unosolo | 12 years ago | on: Goldman Sachs sent a computer scientist to jail over 8MB of open source code

To me it is not clear why stealing the proprietary code could have cost CG hundreds of millions of dollars.

Proprietary code that wasn't developed and tested with generic requirements in mind can rarely be economically re-used outside of the original company context, as it reflects the structure and the processes of the mother-company. In fact most organisations I know decided to throw away their code base entirely when restructuring or upgrading their internal systems as re-work was deemed uneconomic, because the gap between the code and changed environment is too great.

Data is salvageable and immediately valuable; however re-using the code requires a considerable effort, it would also be very hard to keep in secret. The news of their platform being fully or partially re-used at competitor's would have quickly reached GC and they could have shut down the competitor entirely whilst suing them for all of the profit.

Of course one could steal the code for analysis so they could try and exploit the technological weaknesses in GC trading patterns, however this is not the argument given by the article or GC.

Unosolo | 12 years ago | on: Goldman Sachs sent a computer scientist to jail over 8MB of open source code

The original Vanity Fair article tries very hard to paint a picture of a stereotypical overly naive techy.

Little carefully inserted details such as pain-the-back side of having to mow the lawn, all these details should be creating a picture of life-unsavvy coding reclude in reader's mind. The reader supposed to chuckle "how naive, anyone who is on $270K can just hire gardener to take care of the lawn!"

I have personal knowledge of programmers taking the code with them when leaving employment for no particular reason except for "in case I might need it as a reference" and then never ever looking at it again. In my mind it's very much akin to hoarding.

I have very little doubt that the code would be unusable outside of GC infrastructure.

What does seem unusually harsh is the punishment for the crime when no damage was ever done to the victim; to me this is an attribute of a show-case trial.

Unosolo | 12 years ago | on: Stop selling your Software for Peanuts

I regularly see developers going out of business because they are not charging enough. I have been doing software consulting for the past six years and I charge higher rate than anyone else I met in the niche.

The ex-contractors I had a chance to talk to don't describe becoming a permanent employee as "going out of contracting business". The reasons they usually cite for ceasing consulting: - anxiety about not being able to get a next contract - additional paperwork, unpaid administrative overhead - dwindling of contract work stream - unpaid travel

They tend to underestimate the volatility and added overhead of contract work compared to permanent positions and they do not charge enough to cover the risks and extra expense. A lot of the newly born contractors stay in the business as long as the initial client keeps extending them and fail to build a business.

The nature of their business is opportunistic and the business dies once the first serious obstacle is met. In my opinion they fail to realise the importance of negotiating a thicker margin that serves as a tool and motivation to overcome many hurdles that are otherwise smoothed by employer. A thicker margin provides business continuity and a long-term win for the customers.

I can see clear parallels with selling apps. Sexy apps might be given away for free, as there are plenty of competing developers some of whom are attracted by vanity. However, charging more means getting higher quality customers who self-select based criteria you set and advertise and will help build a more stable, healthy business.

Unosolo | 13 years ago | on: Ubuntu 13.04 Raring Ringtail Released

Poor GPU support (lack of drivers) is still a major deal-breaker for home and media use. As of now hardware should still be selected on the basis of available driver support and it's a major obstacle and the situation doesn't seem to have improved significantly since 3-5 years ago.

Unosolo | 13 years ago | on: The 11 Most Mystifying Things the Tsarnaev Brothers Did

> An attack of revenge, maybe against the military or police forces, would be what's expected.

Sure:

http://en.wikipedia.org/wiki/Beslan_school_hostage_crisis

Ironically Ingush and Chechen islamic terrorists are persistently referred to as "rebels" and "separatists" by Western media, BBC which is perceived as more "independent" news outlet didn't utter once word "terrorist" even during the coverage of the heinous terror attack against children.

People committing acts of terror are terrorists regardless of their aims.

Unosolo | 13 years ago | on: Oxford Temporarily Blocks Google Docs

Why not enforce a velocity restriction on outgoing e-mails instead and put spam filters on outgoing e-mail then bounce offending mail back to sender?

Spammers are phishing for ox.ac.uk accounts because they're easy to exploit, right? Just raise the bar.

Unosolo | 13 years ago | on: Mini Drones: Army Deploys Tiny Helicopters

This is the case of economic stimulus through military spending in addition to hidden high-tech subsidy on taxpayer's tab. And redistribution of wealth, if you wish.

Wouldn't it be nice to be able to do any amount of "crucial R&D" that will eventually be sold to taxpayers irregardless of outcome? Every big corp manager's dream.

It doesn't matter if the thing works extra reliably or not: an average lifespan of the battlefield equipment is measured in hours. At a significantly lower costs these copters could be disposable suggesting an entirely different patterns of tactical use.

Apart from the redistribution of wealth from the taxpayers' pockets into the pockets of elites the military spending is "no questions asked" then compared to social projects. Taxpayer's either won't care at all or will come up with reasoning such as "military grade means X1000 the civil costs".

Unosolo | 14 years ago | on: Study Finds Engineers Far More Likely than MBAs to Build and Run Companies

I'm an engineer and have studied several MBA courses as part of my engineering management degree. MBA courses are heavily corporation oriented and have limited value for founders of organically grown start-ups.

Majority of the management techniques taught are economic only when applied at corporate scale.

Unosolo | 14 years ago | on: Why I Will Never Feel Threatened by Programmers in India

Talking from personal experience of having managed off-shore projects from an on-shore base the most significant challenges are:

- misaligned interests

- availability of information

- control

- security and compliance

- communication

As far as "does it EVER work" concerned: it does. It doesn't work well though. Most people can run, doesn't mean that most people can run as fast as Usain Bolt.

My whole opinion at: http://programmers.stackexchange.com/a/46934/12348

Unosolo | 14 years ago | on: Freelance Rates Survey, 2011 (UK)

Quoting http://stackoverflow.com/a/746854/22088:

Contractor is a temporary resource brought in from outside of organisation. Contractors' job is done when they finish delivering products or services specified in their contract.

Consultant is a specific kind of contractor. Their primary job is not just scaling up the existing team, but delivery of knowledge transfer. Consultants invest time into learning a specific topic or coming up with a new way of doing things, then they come to an organisation and transfer that knowledge to the locals, so that the team can carry on doing the job without need for the consultant to stay with the organisation.

Unosolo | 15 years ago | on: How About 30-use Free Trials Instead of 30-days?

Free trials aren't free to the company. It's a promise given to customers that they will be able to make use of company's assets without payment. Company normally has to pay for both the actual usage that occurs and the option of usage it has granted to it's customers so far. Trial subscription and expiry mechanism lets company control the maximum amount of free usage they have agreed to at any point in time.

Let's say you came up with a new and innovative service that let's people publish pictures they took with a mobile phone into the cloud. Because you calculate it will cost you on average one dollar per user account per month to provide the service you decide to charge your users $5 per month.

To attract new users you also decide to give them opportunity to try the service before they commit. You have a few options:

1. Let users upload the pictures in reduced quality for free unless they convert into premium. You're worried that this strategy will distort your user base: people who actually need best possible quality will not get a true impression of your service. On the other hand you will have to pay indefinitely for the storage and bandwidth of a whole lot of inferior quality pictures. Even worse the policy will attract whole group of non-paying users that will be content with the inferior picture quality and will make a heavy use of your service.

2. Let people upload up to 50 pictures free. In which case again you'll end up with having to pay for non-paying customers storing their pictures forever. Even worse some unscrupulous people will end up opening hundreds of accounts and some kid in Russia will write a utility working on top of your service seamlessly opening and amalgamating free accounts for a single user.

3. Set a free trial period of 30 days when users can upload pictures for free. After 30 days they will either have to convert into paying customers or download their data because you're going to automatically purge the free accounts. You're worried that 30 days may not be enough for some people to evaluate your service, but then you decide to look at the conversion stats; after-all if the prospect couldn't make up their mind after 30 days maybe the need wasn't that pressing and you shouldn't be wasting your company resource trying to convert them?

Unosolo | 15 years ago | on: That dev's salary is higher than mine

> 5) A developer’s best chance at achieving a maximum salary increase is to negotiate during the hiring process. Once you are on board, you are at the company’s mercy unless you bail.

This is true indeed for a worse than average developer: after a year or so the employer learns that they are not really worth the money; at this point it will be hard for employer to cut back the salary.

Any developer (good or bad) stands a better chance to get hired by agreeing to lower compensation. Best developers have a good chance of successfully negotiating a significant salary raise after a year or so once they've proven their worth. At this stage they have much more leverage over the employer because it's quite costly to let a good developer go.

Overall I feel the author could have negotiated a much better deal.

Unosolo | 15 years ago | on: Why do Russians smile so little (and Americans so much?)

In no particular order:

- In Russia when they ask: "how are you" they actually expect a genuine and extended answer.

- Smiles are scarce and reserved for inner social circle only.

- Men act toward any strangers as if they expected to be assaulted at any moment.

- Everyone and especially women dress up most of the time.

- When paying for goods or services change is never given straight into the palm of your hand, it's always placed into a little plate or stand instead. As if the seller is scared of any bodily contact.

- Once the communication barriers are broken and you enter the inner social circle Russian hospitality is genuine and exceeds by far any Western standards.

Unosolo | 15 years ago | on: The price of a specialist skill

Well, maybe it was a really good thatcher but certainly not very skilled in running thatching projects and hence is punished by the market and driven out of the business. There are several ways how he could have avoided the situation or softened its impact:

1) Spend a bit of time and energy to assess the damage first, maybe charging a small fee. Essentially, as I understand, the owner had a choice of re-thatching the roof or opting for tiles instead as a substitute. The decision would depend on the economic expediency and the information provided as part of the initial assessment would have had value to the home owner in its own right.

2) Once the contract is signed it's not a matter of choice for the thatcher whether to continue with repairs on own expense, it a legal matter that can be in-forced by the cottage owner through court.

3) The thatcher could have bought professional indemnity insurance to delegate the risk to a third party.

4) The thatcher could have signed the contract on time and materials basis, explicitly leaving the risk of additional work with the cottage owner. In this case it would only be right for the thatcher to let someone else assess the damage for the customer to avoid the conflict of interests.

5) Finally the thatcher could have done the work on project basis charging more for the risk he takes and then hope that over a series of engagements he will still be able to make profit. As a variation he could have specified a contingency within his initial estimate agreeing with the customer that the contingency can only be exercised based on customer discretion should additional work becomes apparent upon stripping.

The problem here is lack of generic project management skills and experience on the thatcher's side and specifically estimation, contract and risk management.

Unosolo | 15 years ago | on: Nokia CEO: Nokia is "standing on a burning platform"

Not really impressed, yet. And here is why:

Zero points for coming out: Mr Elop was brought in by the board exactly with the goal of rescuing Nokia in mind. Looking from that angle the memo is a bit overdue.

Zero points for opening the letter with a metaphor - this is the way someone steering a major technologic corporation is expected to convey the direction - by projecting a vision.

Negative ten points for picking wrong metaphor. It broke down immediately. See for yourself: should Mr Elop's best employees take his advice literally and jump the burning platform? Followed with a change in behaviour meaning never again joining a severely fragmented bureaucracy ridden company? What was the lesson learned by the oil rig worker? What could he have done differently in the situation when he woke up on a burning platform in a middle of a sea?

I’d award one point for openly enumerating the challenges. But these are the symptoms of Nokia demise, he hasn't dug deep enough, the list is known at this point to every man and his dog.

Negative ten for the actual lack of a credible vision at this point. Let’s wait till the strategy comes out.

Unosolo | 15 years ago | on: For what are the Windows A:\ and B:\ drives used?

Few people on superuser.com seem to mention that B:\ was always reserved even on a single floppy system so that it was possible to copy data from one floppy onto another:

1. Insert source disk

2. Type copy a:\. b:\

3. The system will read a chunk of data from a:\ then say: Please insert disk B: and press any key to continue...

4. You'd swap the disks, press a key, and the system will write the chunk of data and say Please insert disk A: and press any key to continue...

This would go on and on and on...

Anyone remembers installing Win95 and the number of 1.44MB 3.5" floppies it came on? 26! And once you got to about disk no. 13 it would start asking you to insert seemingly random disk numbers every minute or so... Or how about getting to disk number 17 and being told that the installation is corrupt, start over.... errrr.......

Unosolo | 15 years ago | on: Software engineers hard to find

As I see it the job of a good HR department is:

1) Make sure that job ad reaches people who are likely to be good candidates.

2) Job ad is attractive enough so that good candidates will actually apply.

3) Handle the administrative side of the recruitment process: paperwork, visas, appointments, expenses, tickets, re-location, contract, security checks etc.

4) Make sure the whole process complies with the legislation.

5) Streamline and expedit the whole thing from the very start to finish.

In my eyes HR is not qualified to make a judgement if a candidate is any good at programming.

Unosolo | 15 years ago | on: Software engineers hard to find

What I can see is that most companies and especially these where software developement is viewed as a necessary evil rather than a business model are very bad at telling bad candidates from the good ones and don't really hire based on merit. They might believe they do, but the outcome of the hiring process is usually erratic as far as it comes to the actual abilities.

However once a developer is hired even a company with a flaky interviewing process tends to recognise the actual worth of a given programmer fairly quickly. Then an intresting thing happens - even though the developers might be explicitly treated as a commodity resource the very same managers would go far beyond the declared rules to retain the best: regularly up the package, give a lot of slack, turn a blind eye on minor "breaches of established rules".

As a result most good programmers I know after about five years in the industry end up enjoying a package far in excess of what is being declared on the job sites.

It's not uncommon for a hiring manager to moan about the lack of good candidates whilst paying the best developers on their team 50% more than they advertise when publishing the same job. What the management don't seem to realise is that just about every other company does that: actually paying more to the existing programmers than the declared range they would be prepared to pay for the new hires.

As a result after a while there is little or no incentive for good developers to put their CV's on a market. They're well above the market rates.

As a workaround sometimes companies hire good programmers as independent contractors and carry on extending the contracts forever - paying double or triple the rate they would pay their permanent staff. It's a funny game when becoming "an independent" consultant with a single customer is one of the few options for an experienced developer to help company management justify paying them the true market worth.

There is no lack of good programmers, they just cost much more than most companies are prepared to admit.

Unosolo | 15 years ago | on: "Calling oneself a C Programmer is like saying you're a Hammer Carpenter"

It's a good example of how coming from different language can both help and inhibit programmer's thinking. Knowing C certainly helps to understand that repetitive array size and index access is likely to be more expensive than using local variables. At the same time C programmer is more likely to adopt an imperative programming style, which is in this case more error prone, verbose and doesn't allow for code re-use.

More ideomatic JavaScript would look like this:

    Array.prototype.foreach = function (f) {
       for (var i = 0, _i = this.length; i < _i; i++) f(this[i])
    }


    /** BEGIN **/
    var f = new Array(3000000);
    console.time(1);
    f.foreach( function (el) {
           if (el === 'foobar' ||
               el === 'foobaz' ||
               el === 'baz' ||
               el === 'barfoo')  // Do something

    })
    console.timeEnd(1);
    /** END **/
page 2