Tuesday, December 16, 2008

HTML errors messages

Do you want to know what is the meaning of those weird error messages in your web browser, such as "error 407" or "error 400", whenever you try to access an internet page ?

Here is a helpful table, mainly when you are reading Squid's access log file. I found it in Stretched Out site:

Code

Description

Comment/Reason

100

Continue

101

Switching Protocols

200

OK

Action complete successfully

201

Created

Success following a POST command

202

Accepted

The request has been accepted for processing, but the processing has not yet been completed.

203

Partial Information

Response to a GET command, indicates that the returned information is from a private web.

204

No Content

Server has received the request but there is nothing to send back. (Empty Document)

205

Reset Content

206

Partial Content

The requested file was partially sent. Usually caused by stopping or refreshing a web page before it loads.

300

Multiple Choices

The request could fit multiple files.

301

Moved Permanently

Requested a directory instead of a file. The web server substituted the index.html file.

302

Moved Temporarily

303

See Other

304

Not Modified

The cached version of the requested file is the same as the file to be sent.

305

Use Proxy

400

Bad Request

The request had bad syntax or could not be interpreted.

401

Unauthorized

User failed to provide a valid user name / password required for access to file / directory.

402

Payment Required

403

Forbidden

Access to a protected or private password protected folder was attempted.

404

Not Found

The requested file was not found.

405

Method Not Allowed

406

Not Acceptable

407

Proxy Authentication Required

408

Request Time-Out

The server did not respond in the allocated time.

409

Conflict

410

Gone

411

Length Required

412

Precondition Failed

413

Request Entity Too Large

414

Request-URL Too Large

The submitted URL was too long to be interpreted by the server.

415

Unsupported Media Type

500

Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request

501

Not Implemented

The server does not support the service required.

502

Bad Gateway

503

Out of Resources

The server cannot process the request due to a system overload. This is usually a temporary condition.

504

Gateway Time-Out

The service did not respond within the time frame that the gateway was set to wait.

505

HTTP Version not supported

The Web Server does not understand the version of http used by the browser.

Friday, December 12, 2008

Teacher says that there is no free software

I have just known that (in portuguese), and it is astonishing. You can read more about this in Blog of Helios and The Contractor UK, both in English.

The summary
Karen (the teacher) saw students around a laptop, and went to understand it. She found one of them with the laptop showing what Linux could do in his machine (take a look at some of this videos). Not only this, but he was GIVING copies of it to his friends.

Karen kept them all and after talking to the students, she had a name: Ken Starks. She wrote the email with lots of wrong ideas. Both emails, from Karen and Starks' answer are in Blog of Helios.

The worst
Even in US, a great country, even in Texas, a great state, developed, with lots of technologies, lots of people just don't know that there are others possibilities besides MS Windows. A teacher, whose responsability is to prepare youngs , should know this. At least, not to be saying so many wrong things.

I have no doubt: she did what she understood as correct. Where she saw a threat to the kids, she reacted in defense of them. But she is indeed not prepared. Not in technology matters.

She needs to stay in touch with technoloy, as to other subjects. Or else, she may be teaching that the Earth is flat ...

Monday, December 8, 2008

Linux for simple users - Ubuntu and OpenOffice

Since the beginning in my Linux story, Linux installations has been easier and easier. Up to now, what we see is Linux growing more and more in companies. Not on the desks, but working where the common user does not see.

There, there are no need to use graphic interface, or mouses. It is a completely different world, where all the commands are issued at a black screen with small white letters, completely senseless. At least, for common users.

Common users want to turn on the system, enter their login account and password, and use it by clicking the Internet browser. Oh, forgot the MSN also. We will try to discuss and show some details of Linux security and Linux installation.

High Cost of Aquisition
The problem is the cost of proprietary software. Here in Brazil MS Windows and MS Office are very expensive, as can be seen in the picture. In this famous Brazilan store, I choose Windows Ultimate with SP1 in DVD, an MS Office 2007 Standard version, in CD. Both cost R$ 1,798.00 (US$ 715.90 and EUR$ 555.00), today. Almost the same buy in Amazon.com costs a a little less, but with the more complete MS Office Professional 2007 full version: US$ 649.98 (R$ 1,632.43). I am not considering the Anti Virus (there is no chance for making use of MS Windows if you do not install such software).

No Cost of Aquisition
Considering all the functions that MS Office offers to you (and I believe that today there are no better Office Suit) I'd say that it is reasonable to pay such value. But, I believe that the majority of end users doesn't even know lots of basic procedures of MS Word or MS Excel. Many just need Power Point installed to read those presentations that come attached in many emails. So, in second hand, this money stars to get really expensive. If I consider the Linux I am using nowadays (Ubuntu 8.10, download here) and the Office Suite (Open Office 2) that is always helping me in writing my texts an sheets, I will conclude that I just "spent" the time to download Ubuntu, since OpenOffice is already installed in it. Nothing to buy, nothing difficult to use, and much more interesting (in brightness and cute stuff on screen). If you wanna know how, take a look at this, this and this. Just to start.

Compatibility
Of course, there are problems. No software made to Windows will work in Linux. In fact, some of then can, but not usually. Depending on the format of files, they can all be read. Except the new format DOCX. Ok, lots of people that yet use Office 2003 will have some troubles reading documents saved with MS Office 2007 also. Games and some other software will not work. But the problem is not resting on Linux. The software developers just make a version for Windows. Until they make a version for Linux (as they sometimes make an Apple version), their software will never work.

Open Software people are always looking for soving such problems of us. For DOCX problems, there is this solution. It is worhty.

Today, I am extremely used to work with Ubuntu 3D Desktop, and I get some frustated when I havo to use Windows and I find no especial effects, not only because it is funny, but because it is practical.

Conclusion
So, if you read/send emails, write some texts and sheets, and access Internet, Ubuntu may be for you. You should really give a try.

Next time, let's try to understand a little more about Linux security procedures and Linux installation. Feel free to post any questions.

Thursday, December 4, 2008

Hello World

Me and Mabuya were talking about something of FTP, and so I searched for some additional informations in Google. I then found a very interesting, funny and inteligent text, here about the famous first piece of most programmers. Have fun.

Who are you ? from Luiz Kobayashi.

Scholar:
10 PRINT "HELLO WORLD"
20 END

Script Kiddie:
program Hello(input, output)
begin
writeln('Hello World')
end.
Computers lover:
(defun hello
(print
(cons 'Hello (list 'World))))
Post-graduated Professional:
#include
void main(void)
{
char *message[] = {"Hello ", "World"}; int i;
for (i = 0; i < ptr =" new" operator ="(const" operator ="(const" size =" strlen(chrs);" ptr =" new" str = "Hello World">


Master
Programmer :
[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");
// bring in my interfaces
#include "pshlo.idl"
[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};
[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{
// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");
// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");
[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
aggregatetable
]
coclass CHello
{
cotype THello;
};
};
#include "ipfix.hxx"
extern HANDLE hEvent;
class CHello:public CHelloBase
{
public:
IPFIX(CLSID_CHello);
CHello(IUnknown *pUnk);
~CHello();
HRESULT __stdcall PrintSz(LPWSTR pwszString);
private:
static int cObjRef;
};
#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"
int CHello::cObjRef = 0;
CHello::CHello(IUnknown *pUnk):CHelloBase(pUnk) {
cObjRef++;
return;
}
HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString) {
printf("%ws\n", pwszString);
return (ResultFromScode(S_OK));
}
CHello::~CHello(void)
{
// when the object count goes to zero, stop the server
cObjRef--;
if (cObjRef == 0) PulseEvent(hEvent);
return;
}
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"
HANDLE hEvent;
int _cdecl main(int argc, char *argv[]) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();
hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);
CoRegisterClassObject(CLSID_CHello, pCF,
CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);
// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);
// revoque and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();
// Tell OLE we are going away
CoUninitialize();
return(0);
}
extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;
CLSID CLSID_CHello = {/*
2573F891-CFEE-101A-9A9F-00AA00342820*/
0x2573F891,
0xCFEE,
0x101A,
{0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20}
};
UUID LIBID_CHelloLib = {/*
2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20}
};
#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"
int _cdecl main(int argc, char *argv[]) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker *pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 *_MAX_PATH];
// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if (argc > 1)
{
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else
{
fprintf(stderr, "Object path must be specified\n");
return(1);
}
// get print string
if (argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");
printf("Linking to object %ws\n", wcsPath);
printf("TextString %ws\n", wcsT);
// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED); if
(SUCCEEDED(hRslt))
{
hRslt = CreateFileMoniker(wcsPath, &pmk); if
(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_Hello, (void
**)&pHello);
if (SUCCEEDED(hRslt))
{
// print a string out
pHello->PrintSz(wcsT);
Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);
// Tell OLE we are going away
CoUninitialize();
}
return(0);
}

Novice Hacker:
#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0)
{
while(defined($arg=shift(@ARGV)))
{
$outfilename=$arg;
open(FILE, ">".$outfilename) || die"Can't write
$arg:$!\n"; print(FILE $msg);
close(FILE) || die "Can't close $arg:$!\n";
}
}
else
{
print($msg);
}
1;


Experimented Hacker:
#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S)?0:1);}


Super Hacker:
%cc -o a.out ~/src/misc/hw/hw.c
%a.out


Mega Enhanced Hacker:
%cat
Hello, world.
^D


Junior Manager:
10 PRINT "HELLO WORLD"
20 END


Senior Manager:
mail -s "Hello, world". ze@b12
Hey, can you write me a program that writes "Hello, world"? I need this for tomorrow.
^D


Master Manager:
%zmail jim
I need a "Hello, world" program to this afternoon.


CEO:
%letter
letter: Command not found.
%mail
To ^X^F^C
%help mail
help: Command not found.
%damn!
!: Event unrecognized
%logout

Sunday, November 30, 2008

Windows 7 and it's news

For some time, I have been working with computers. In my blog in portuguese, I have detailed some funny moments of this road, although many of them were not so funny.Here in Brazil Windows is the OS market leader, and there is nothing anyone can say to change this. It's just that. But we must face a fact, things are really changing.

Apple in Brazil
Unfortunatelly, Apple does not do a good marketing work here. And that is really a pity, if you know what an Apple can do for you, you do know what I am talking about. Prices are always hiting the ceiling, almost no official reseller, and the few are concentrated in RJ or SP. The brazilian site itself does not shows the same stuff you find in american version. For sure, there are reasons, and I just don't know anything about them. So, Windows has been the choice.

A better Windows
Guys from networking knows that just since last years, Windows has become a secure option. Windows 2003 is a shift, if you see the bad steps of MS, in security, resource comsunption and so on. It is astonishing to see how a so unperfect OS has been working for so long. And not only to end users, but for the network basements. After 2003 (IMHO) things started to change. Lighter, faster, less unsecure. Okay, nobody is perfect. You still MUST be afraid of tons of new aggressive codes that works through loads of MS Windows weakness. not only about virus, but worms & Co. Just to remember, Unix OS also may be affected by them. Hummm ... in second thought: mostly server softwares may be, and much more than the OS.

NNF Technology
Anyway, there is another thing we cannot deny: Vista was such a wrong shot. Oh, there is the Mojave Experiment. That made think about the NNF technology wich is the knowledge basis of most computers technicians I know. Most of "computer guys" are not really prepared. But they know that reading the screens wil help them to make the work. They acquire that "knowledge", but are really not prepared to different situations. Let's then suppose that a Martian Ideas Transmission device is to be installed. That's the best moment for applying the , such as: it is not working, it is not compatible, your computer is not ready for that, it may be spoiled.

In another hand, the "Mojave OS" was already there, and correctly installed. And that is okay! End user are not to install an OS. Or it is ready-to-use or you should have someone to install it. Ops!!! As far as I can remember, MS warriors complained about Linux complexicity. Touché!

"News" on Windows 7
Why this all? There are tons of noise about Windows 7 and its innovative-brand new-shiny desktop. In Brazilian version of PCWorld, some shots of it is shown, and I got some disappointed to see that it is not that all. As an user of Ubuntu Desktop, I see some characteristics I have been making full usage since 04/2007. They were fully disponible in Ubuntu 7.04 version. If the goal is to prepare an eye-candy desktop, there are a lot to go through. I know it is just a preview, a Beta version, and so on. But all these has been ready to be used, as I told before. Not to commom users to install, but it was (and is) there.
  • The Windows Gadgets are available through gdesklets.
  • The Jumplists were first shown in KDE through SuSE. Note that this page is from April 2007. Windows Media Player also makes use of Jumplists.
  • The Device stage is somehow innovative, and not. It depends on the manufacturers to make available hardware specifications, and he correct drivers will be done. Here a petition for compatibility from VIA to Linux states the following:
While VIA has been on the market for a lot of time and claims to support Linux, this is not actually true. VIA does not support Linux (any distribution), at least regarding Video Chipsets support, since it's Linux drivers do not allow users to use their hardware up to the chipset specifications. However, using the same hardware on Windows, the manufacturer specifications are met. This shows that current driver developing efforts by VIA consider only Windows users (again, Linux is *not* supported).
  • The Media Collections (is that supposed to be correct in English ?) seems to be an development of Images, Video and Music folders in My Documents. I really do not know if there is something referred native to system. Of course, we have softwares that can work like this, but not native to the desktop environment. Since I am an Gnome fan, I haven't watched KDE yet. But the KDE guys really work hard on media stuff.
  • The User Account Control is something that has no corresponding item since securitty issues are dealt in different manners.
  • The Windows Solution Center seems to group several warnings in one place allowing the user to see them all. Guess some advanced users asked for this, but it can be a problem to common users, who are just used to make use of the sytem, and almost never care about security levels, warnings, and on. Most of time, they just want to know where is the OK button. Again, I don't know wether there is or not such a feature in an Linux Desktop Environment.
  • The Federated Search is an useful network search tool. Probably it will search for data in different versions of MS OS, like XP, 2003, and so on. Probably, it will not search in Apple or Linux hosts.
  • Themes should be easier to work with. It was not difficult, but the screen shows a broader range of options. In Ubuntu, it is really easy to make detailed changes in theme configuration. Here, one of the many videos showing how to do so.
  • Zoom effect is a quite useful feature, specially in a presentation. In this screen a square shows an magnified square area. Zoom in linux, as shown in this video, works in the full screen area.
  • When the desktop is crowded with many windows, sometimes is necessary to see the desktop, or the gadgets. Hiding the winows is a solution.
  • I don't understand how useful could be the resource of streaming. If videos and musics must be licensed, what will be done in my system to control this ? Only my medias can be deployed, but many will spread forbidden media, and that may arouse legal issues. Is this feature an effort against P2P networks ?
  • A lighter Windows Media Player. Hopefully, it will be. Linux has Totem, but it is way too slow and somehow buggy. Installing VLC and making it the default media player is preferred. It can be installed directly by Synaptic.
  • The MSPaint now uses the "brand-new" and complicated substitute for old-fashioned Menu bar. I did not understand what is new about this. I hope Paint records in JPG format by default.
  • Some visual enhancing to the calculator.
  • The Battery Monitor now shows minutes remaining, as Gnome always did.
Don't forget that I am only comparing what an review states abou the new Windows version with a few things I know in Linux. I'd love to receive opinions about Windows 2007.

Thursday, November 20, 2008

AVG says Windows (only a file) is a big Virus.

I have just received an email from my ex-student Rubenaldo. This email points to some interesting links that show AVG and a very tiny mistake: at version 7.5 and 8.0, user32.dll is a virus. Check it out:Link
http://apcmag.com/
http://www.geek.com/
So, let's open our minds, and understand what can happen:
1 - User starts AVG
2 - AVG complains
3 - User erases the file, and the SO stops

Unfortunately, most of end users, or home users, believe that anti-virus software can let them protected. As we see above, this just does not happen.

Others OS

Not only this, but the most popular end-user operating system is way too vulnerable, if we compare to others, mostly MacOS and Linux.

As my first post, I want to show, as impartially as I can, that there are other ways to do the same job. Of course, I want to show that nothing is a whole solution in itself.

In an cnet Review in 2006, Natasha Lomas remembered the famous Apple campaign, and pointed some flaws. We should never forget that softwares will allways have failures. The point is: Some are worst.

To state this, when you can, take a look at Security Focus Bugtraq Vulnerabilities List. Today (11-21-2008), I found the following results:
Vendor = Apple : 30 pages of vulnerabilities
Vendor = Ubuntu: 31 pages of vulnerabilities
Vendor = Microsoft: 68 pages of vulnerabilities

Note that I choose no software. Only the vendor. Also, most of the vulnerabilities there are solved. So, numbers here will not reflect the security information we are searching.

Usability

Besides, we must consider the usability question: "Will I know how to deal with that ?" The other Operating System may seem really secure, or less insecure. But, will I know how to deal with it's stuffs ? The text editor has the same controls ? My spreadsheet will have suffcient collumns/rows to work ?

I will make things worst then: Okay, I don't have sufficient time to re-learn it all. I will keep it simple. But I wish I could work without worrying so much about malwares. So, the end is to invest in a anti-virus solution, somehow expensive. And, sometimes it really does not work, or work insufficiently.

The question??? it is "How to lift security levels to the user ?"