Tuesday, November 22, 2011

Invitation to StackOverflow

I'd like to invite every programmer to join StackOverflow and other StackExchange sites. Not only to create account and ask some question from time to time, but to active participation. Let me expain why it is worth your effort.

First of all, StackOverflow is a great place to get answered. If you have a problem involving programming, it's one of the places where you have very high chance to get answer with high quality. But in order to be answered, there must be someone that answers the questions. Portal is free, you need not pay for asking questions, so nobody is paid for giving answers. At least not in money. But you have the reputation, which measures your involvement in StackOverflow community. Users with high reputation are authorities for others. The same mechanism works on various foras, but there the user is authority for the people that knows him. Reputation is the mechanism, which can tell, that someone is worth your trust, even if you've never heard of him. It allows the StackOverflow to work as really big community.

You may ask, why should you care about reputation? Does the high reputation increase your chance to get answered? Well, if you have a lot of reputation, it means you are active and you are helping people, so you are worth spending time solving your problem. However, most people just answer questions that are good and interesting, illustrated with code examples, and ignoring those that are poor (how-to-do-that pattern). But if you have a lot of reputation, you can set bounty to your question, which sacrifice some of your reputation points, but greatly increase chance for your problem to be noticed and solved.

Many people engage in community and solve other people's problems just for satisfaction that they may be helpful and their engagement will be noticed and appreciated. The best way of showing your appreciation is to vote up good answers (and good questions too). You should do it obligatorily if someone gives helpful answer to your question, but also to answers to other questions, which you find good. The rule should be, when you search for some problem in internet and get to StackOverflow - you should vote up question (for being asked and relieving you from asking it yourself). If you find some answer that is helpful to you - you should vote it up. The rule for you should be - if you read something, and you find it good - you upvote. Number of upvotes is limited per day, but it usually should not be a problem. If it is, you can write the other links down and upvote it the next day. Not used upvotes are lost and they could be used for encouraging users to participate.

Except from satisfaction, StackOverflow is a great place to promote yourself. Please note - you can post links to your blog or webpage in questions and answers, if they are good illustration to the problem - that gives you visitors and increases your SERP rating. You can promote your web page and yourself in your profile. Each your post points to your profile. When you give good answer, it is cited, which gives you a lot of links to it inside portal. StackOverlfow is very good positioned in search engines, so there's really much to win.

I personally, when I'm searching for answers on particular topic, when I find something interesting on StackOverflow or one of other StackExchange sites, I'm alway voting up both the answer and the question. When I find some interesting technical article, which I find useful, I always 'like', '+1' and 'digg' it, when available. It's the way to reward the author for his work.

Thursday, March 12, 2009

What is annoying in power supplies.

The thing that annoys me often are cables.  Network cables, USB cables. But the worst are power supply cables, and AC's. There are many small devices, each taking a few wats, but each must have its own power supply cable and very big AC. It's a hard task to plug all of them. Big plugs simply collide.

There is a modem, router and wireless phone, that is 3 AC's. And handy charger (4), and battery charger (5). 

Would be that so hard to develop one standard for supplying power to small devices? There could be then one AC with small cables for all devices plugged into it (such as network cables to switch).  Such universal power supply could contain battery charger and could be less power-consuming.

I would be most pleased having such a device:
A wireless VOIP router connected to wireless handset (I have VOIP router and wireless phone as separate device, with phone cable connecting them and surplus power supply cable), containing slots for charging batteries and sockets to plug in power cables to other devices (such as handy charger etc.). 

I thing USB gadgets are so popular because they do not require additional power supply :)

Every AC means surplus power consumption, and additional costs. Computer-dependend devices such as monitors and printers could also drain power they need directly from computer's AC, optimally via the same cable they send data, so there would be another cable less.

Oracle & temporal types

When considering Oracle temporal types, most people think of TIME type and DATE type (which is date + time).
I was a bit suprised to find out that Oracle 10 supports INTERVAL type and temporal operator OVERLAPS.
Intervals are quite simple. There is INTERVAL DAY TO SECOND and INTERVAL YEAR TO MONTH support. 
Example:
INTERVAL '5' DAY is 5 days.
INTERVAL '5 01:00:00' is 5 days and 1 hour.
INTERVAL '1' YEAR is one year.
INTERVAL '1-2' YEAR TO MONTH is one year and 2 months.
INTERVAL '12' MONTH is 12 months.
I don't know what is INTERVAL YEAR TO MONTH for. In what case when operating on ISO dates one year would be something different from 12 months. The most interesting, in my opinion, would be INTERVAL MONTH TO DAY and INTERVAL MONTH TO WEEK, because operating on days/weeks and months simultanously is the most problemating.

OVERLAPS operator is less interesting. It can be used only in WHERE clause and returns true when 2 periods, defined as (date-from, date-to), overlaps.
When overlapping is considered, periods are defined as exclusive sets
so (date '2009-01-01', date '2009-01-10') OVERLAPS (date '2009-01-10', date '2009-01-20') is NEGATIVE. Inclusive treating of periods by OVERLAPS operator would be very problematic to handle, considering we operate on timestamps. However, when we treat DATE field as date (not date with time) and take care that time part is '0', OVERLAPS is not very handy. From my operations, it does not make temporal queries more effective.