Wednesday, September 11, 2013

Apple unveils the new iPhone (some 5 something...)

First of all, lets me warn that IF YOU OWN Apple shares and are reading this, stop immediately, call your broker and SELL SELL SELL, then you can return.
Second, if you own an iPhone, stop reading this, enter amazon or ebay and SELL SELL SELL cause no one will be buying it from you in  months time.
Third, if you own an Android, stop laughing... it's not decent to laugh of other people's problems. No, really; It's actually sad that the company that kicked started the smartphone revolution is now going under. It's even worse that the world is about to loose Blackberry and later after Apple...2 less competitors means less competition and the ones that suffer the most from this are the buyers.

Google's September seems to be controversial. 
First the bad news as Microsoft makes the final chess move on Nokia and buys it. It was expected ever since Nokia announced dropping the Symbian for Microsoft Operating Systems. If Microsoft intended to say in battle with Google on the smartphone market, they would need something more that a couple of Apple shares...and here they are.
Second the excellent news as Apple unveils... the iPhone...again.

So what is new about the iPhone... well if you live in the iPhone world, there are a couple of new things that clearly do not justify the shift. If however you managed to evolve out of that fan-boy package, and into the Android world then you can see the iPhone as you've always seen: A good idea back in 2007.

So what is new about the iPhone? 
First, they remembered that for year now, their competitors have been launching better phones, with better hardware and software for half the price. And grabbing the customer that doesn't buy a Guccy bag and as a consequence asks for specs and then compares before buying an expensive gadget. So they created the iPhone5C.

  • The iPhone 5C is the iPhone 5! Same CPU, same display, same cameras, same battery (with software improved usage), only with plastic shell and 5 colors to choose from. Oh and the 16 or 32Gb FOREVER and no SDcard crap remains. 
    • Should you buy an iPhone 5C if you own an iphone5? Why oh why would you sell your iPhone5 to buy the same phone on a worse casing.  
    • Should you buy an iPhone 5C if you don't have an iPhone? Why would you want an iPhone with android available? Still if you think that it sits good on the meeting table, just buy a Chinese iPhone's as effective in the meeting room and a lot cheaper.

Then comes iPhone 5S... 

  • The iPhone 5S is the iPhone 5 with ONE improvement! CPU is the next gen A7 instead of the A6. Apple announced 2x faster than the A6, but leaked benchmarks show that it's only 30% faster. New colors! You can have it in gold, silver or "space grey"...clearly for the Guccy people. FingerPrint reader! Wow... something pointless really as it will just increase cost while the simple usage of the camera for IRIS reading would be much better...and oldschool to as you can have that on your Motorola Atrix since 2011 or on your Dell laptop since 2007. Same display, same cameras but better tweaked for low light scenes and with dual color flash. The ONLY new thing is actually the M7 co-processor. It's a CPU that computes and interprets motion, allowing a finer, faster and better movement and positioning awareness from the device! Cardio-fitness freaks, this is for you.
    • Should you buy an iPhone 5S if you own an Iphone? Why? are you a cardio-fitness freak? if so, go ahead! Are you a Guccy freak? if so, go ahead! 
    • Should you buy and iPhone 5S if you don't have an iPhone? No! Why? because of the same reasons you should never buy an iphone other than the first one: It costs twice of what it is worth and you have much better HTC, Motorola, LG and Samsung android phones out there that completely eclipse the iPhone. And if the lame excuse of the meeting room table gadget should arise, think on just how much the "senseless fashion over reason" message is interpret by others attending the meeting.

So what did Apple managed to do?

  • Copy the Nokia Lumia 620 at twice the price of the cheapest version (the iPhone5C).
  • Improve the camera on the phone...while you can have incomparably better results with:
    • Panasonic Lumix 101P
    • Casio Exilim
    • Samsung Memoir
    • Sony Ericsson Idou
    • ...and so on

Google is now extremely happy. They are loosing all the main competitors, and the other giant (although able to pick up the pace faster than most can imagine) took too long to wake-up for the smartphone business and as a consequence is still years behind. 

Is there a future for Apple? Don't really know. So far it seems that they have done nothing more than legal suits this last years and apart from changing business into Apple law inc, I don't really see a bright future at the moment.

Monday, July 15, 2013

After 15 days of hell, I found the less predictable place.

About 3 weeks ago, my long time faithful laptop died on me.
It was my mobile workstation, packed with an extremely stable, fast and efficient UbuntuStudio64 10.10 running the only good gnome (gnome2).
After the announced death by motherboard failure, it was time to buy a new laptop, and as this last one, it would have to last for years, so it would have to be state of the art...and since I'm not rich, it would definitively not be HP, APPLE, DELL or any other over inflated price-tag laptops.
So after a lot of consideration (a looooot, believe me, as I still find it UGLY, HEAVY, BIG and KIDish...and i honestly only forget those feelings while I amaze at the brutal power and speed) a ASUS RepublicOfGamers G750Jx with 4rth gen Corei7 4700HQ, 32Gb ram, a boot SSD 265Gb Liteon SATA3, a storage 7200rpm 750Gb Hitachi Sata3, a Geforce GTX 770m with 3Gb and a couple of other tweaks, was on the way.

When I got the machine, I was NOT TOO amazed to find it installed with Windows8... an excellent example of how to build a kernel and then how NOT to make it usable, by spoiling everything with the "I wannabe a pad" Graphical User Interface.

Working with heavy virtualization machines, 3D and some programming, this would not do, so Linux was the ONLY way...and then...I found true hell.

Cleaning up windows and EFI was a simple 5 minutes BIOS reconfiguration followed by a Gparted tool cleanup from a live-CD...easy.

When I started installing Linux, I found the problems. First I tried the faithful UbuntuStudio64 10.10...but no network interfaces where found, leaving me with days trying to update packages by hand using another laptop and a SD success. Definitively I needed some sort of networking connection so ubuntu would install every needed package.

So I tried UbuntuStudio64 12.04... it had been working in my workstation for long without problems and excellent performance...but again no network interfaces where found...this was getting annoying.

So next in line was the 13.04...under development, but at least everything seemed to work. The seemed to is a key word here... the system was stable, but XFCE kept crashing without reason or logic. And is got so frequent that I found my self doing simple copy-paste tasks without moving the mouse, and having to close any applications that might pop-up some message in-between...I've had it, I had to find a solution or start thinking on selling this piece of crap and buying an older, more reliable system.

The next in test was Debian7.1...and I got a little hope when one of my older USB WI-FI's worked and Debian requested to join a network...but then security would not implement as it's WPA2 and that needs an updated library on the installation CD! Back to 0.

Ok.. Lets try Ubuntu12.04 and then try to clean the "I wannabe a pad like Windows8" crappy Gnome3 on unity...somehow...but this time, install hanged constantly! No luck here.

Next would be the even more desperate Ubuntu13.04...and the same install problems happened.

By now I was in hell. I was already starting to look for second-hand laptops online in an effort to end this time consuming madness...when I remembered that there was another debian based distro that could work...
...I didn't think of it in the first place because, thought it's good, it has an overall green looks that just leave-me sick...and that's why I never ever thought of MintLinux.

After downloading MintLinux Olive 64 MATE, I found heaven. Everything worked (apart from the standard need to ban nouveau package at the grub loader, in order to be able to install nvidia drivers). I even tried VMWare Workstation it worked immediately without tweaks and recompiling! and the 3d!!! The 3d inside virtual machines is working blazing fast, stable and like I've never EVER seen on VMWare Workstation on Linux.

So this is a BIG lesson. People, bare with the ugly green look of MINT during installation and initial configuration (as you'll probably get rid of it immediately after first boot, like I did), and then you'll be on Linux Workstation heaven.
MintLinux allows you to choose 3 different "flavors": XFCE (not recommended as the very fast and interesting XFCE was actually very unstable in this latest build...and that was my UbuntuStudio64 13.04 problem), Cinnamon (a KDE spawn... I never liked KDE) and .... the wonderful, glorious, gnome2 spwan and because of it, savior of all MATE... and that, my friends if by far the BEST DEBIAN BASED LINUX since UbuntuStudio64 10.10.

I finally found heaven...and it's ugly green, but nothing that some gray paint can't handle.

Thursday, June 27, 2013

Making Ubuntu Studio 13.04 + NVIDIA TopEnd Graphics card work with the latest LowLatency Kernel

During my last trip, my HP Laptop that has been my side-kick for the last 6 years died on me.
Guess it was time to find a new laptop...and it was everything but easy, but that's subject for another post.
Having received my brand new ASUS ROG G750Jx (a true monster, from the looks to the size and weight of the thing) all pumped up with a 4rth Gen CoreI7 4700HQ, 32Gigs of ram, 256Gb SSD and 750Gb 7200rpm standard hdd, blueRay and a Geforce GTX770m with dedicated 3Gb GDDR5.
It's the ONLY machine I could find with GOOD specs for heavy virtualization and graphics usage and with affordable pricing. The only problem is the "I'm a kid and this is my gaming rid" looks.

It came with Windows8Pro, and thought I think this Microsoft Kernel is a lot better, I still think it's not close the the efficiency and footprint levels I consider efficient...and then there is the Metro GUI...ughhhh.
So as expected, I used Clonezilla to backup the entire 2 HD partitions, setups, and data into a single Image to my external backup drive, and on to wiping it clean.
I then decided to use the SSD drive for /boot, / and SWAP partitions, and having 32GB of ram, my swap ended up having 64Gb of ram, so this should be a really strong virtualization environment.
I then configured the 750Gb Hd as my /home and Ubunto Studio 64 13.04, here we go!
It's a beast. System loads in under 12 seconds after touching the power button, and everything feels under instantaneous in response time. I'm just amazed...this level of performance makes-me me forget and forgive the looks.

It installed beautifully, but then after the update to Kernel 3.8.0-25-lowlatency, XFCE stopped working.
With nothing but the command line, it was not that easy to grab hold of the latest NVIDIA drivers (not from the repository but rather the NVIDIA site).
While running the NVIDIA drivers everything got clear to me, so here is the recipe to AVOID all the mess of the Noveau modules incompatibility with NVIDIA drivers:

1 - Install Ubuntu 13.04 from the ISO and allow it to perform the first package update (no kernel).
2 - Then, download the latest NVIDIA drivers form NVIDIA website. Use your file manager to allow the file to have execute permissions and leave it in the download folder.
3 - Shift screen (ctrl+alt+F1) to command line, login and kill the XFCE issuing the command:
        sudo service lightdm stop
4 - cd to your home/downloads where you should fing the nvidia driver and start it issuing:
        sudo sh NVIDIA-Linux-x86......(your version here)
     This will lead to the Nvidia setup that will start firing errors. Don't worry! One of those errors is the Incompatibility warning with the "noveau kernel module". Just kick next and you'll be presented with a request to attempt to bypass loading of noveau kernel modules. Just say yes. Installer will continue and fail as the modules are still loaded.
5 - Reboot your computer. You'll probably end up with a no XFCE boot direct into command line, if so just continue and re-do step 4, if not, repeat steps 3 and then 4.
     This time, the installed will succeed.
6 - Reboot and you'll find yourself back in XFCE with NVIDIA power boosting the already light DesktopManager. Be happy and NOW you can run the remaining updates (the new linux kernel)
7 - Reboot and enjoy a blazing fast kernel on a blazing fast DesktopManager.

That's it!

Saturday, June 22, 2013

Microsoft Project & Project Server 2013 and Office365 line of products: Maturity to generate and support Maturity

Before I start this post, and due to some questions presented at some of my classes, I'll make a simple statement: I'm not a Microsoft man, as much as I'm not an Oracle, or Apple man or even a Red Hat Man. I'm a technology man, with Project Management Career built on top of an Engineering background. So I like efficiency and quality. If a brand I love creates a bad product I will NOT support or recommend much as if a brand I don't like creates a good product, I WILL support, recommend and embrace-it. You see, after years working multiple technologies with multiple projects, I no longer value childish clubbing behavior. Brilliance is all over the world and all over companies...and it is a good thing that every now and then, one competitor rises above others and shines for a while, pulling responses from other drives evolution and that's my point of focus.

Having sad that, lets go into the article.
I' been using Microsoft products to support business and training since as early as Microsoft Windows 2.0... regarding Microsoft Project and Project Server (that I've been using from it's early days), my students (when asking for my honest opinion) would hear something like, Microsoft Project Professional is good, and I strongly recommend it,  Project Server however is not mature enough to justify investment so I recommend you to wait.
That however HAS changed dramatically. Ever since Project Server 2010, that product maturity just leap forward into a top-in-class product. The only flaw would be that it was built on SharePoint, and thought better, it was (in 2010) far from acceptable in my (efficiency oriented mind).
2013 is a leap to brilliance. SharePoint improved immensely  not in terms of concept (as there was noting wrong with it) but rather in terms of is lighter, more robust, just works.
This allowed for what already was a great product to be even better.

The new version of Microsoft Project Professional 2013, is not that much of a leap since the already brilliant 2010. Sure a lot of people that actually understand the software calculation routine didn't think that way (I used to be one of them during the beta trials), but then it was their fault, as the product actually improved a lot and that included the calculation routine, especially towards resource assignment and peak usage.
The most important improvement since 2013 comes from reports that are now BRILLIANT and totally flexible, and a new set of features that you really don't get to taste unless you evolve towards the SharePoint world. You see, now, you can use Project Professional 2013 to edit SharePoint task-lists, and use the brilliant "scheduling engine" in it to make those SharePoint task-lists come to life. This makes Project Professional 2013, not only the "client" app for Project Server, but also for SharePoint.

The Project Server 2013, however is an important leap since it's predecessor. If you just look at features, the comparison is almost equal, but in truth things have evolved a lot.
Project Server has been suffering a fusion with the SharePoint product. Of course this could be done at once, but it would eventually stall product evolution in terms of features that were much needed before 2010. Having reached that point, however, there was nothing to hold Microsoft back, and it shows.
Project Server 2010, used to force you to create workflows using Microsoft Visual Studio and a lot of if you think that SharePoint excels in workflow creation and maintenance simplicity, this was a "turn-down". Well, feel turn-down no more! Today's Project Server 2013 uses the same workflow engine, and as a consequence, you can create workflows visually using SharePoint Designer.
Project Server 2010 used to have 4 databases. These represent the several stages of Data inside the server. Of course that would represent a lot of shifts from database to database between saves, publishes, reports, etc. 2013, does consolidate everything into one database, allowing for better performance and control of data.
Project Server 2010 was available only as a server, so you had to license SharePoint, Windows Servers, SQL Server just to have Project Server... 2013 is offered as both the standard installation you've always had (now called on-premises) and a new service on the cloud (called on-line). This is huge as in truth, most cost of ownership, cost of growing and inability to shrink, and the cost of installation is reduced to near nothing. This is a huge step on the product ans it uses all the benefits from SharePoint and none of the drawbacks.

Microsoft Office meets the world outside Microsoft windows.
Now, Project Server always allowed you to use the web interface to use Project Web App. And that meant better support for cross-platforms and better in-company roll-out options. But if you try out the new Project Server 2013 Online with office 365, you'll experience things in a hole different level.
The new Project Web App is even better, so if the browser has total W3C compliance, it will work in just about ANY platform. Don't believe me? Ok, so I've used it in 3 different Linux types using chrome, 3 different windows versions using both Chrome and IE and even done it on Android 4.0 using Chrome:

And that was not even half the story. I've been editing PowerPoint files, from Linux  using the Web App, I've customized a Microsoft Project Server 2013 report using Excel Web App, from a Linux...

...and this, this is quite something. This is Microsoft saying, we will go cross-platform with our best products, meaning that ANYONE can use them, but there is another hidden message here that is most interesting. In order to move the most interesting software outside the Windows comfort zone, pressure is being placed on Windows team to develop more quality into the future Windows kernels. This clearly places them into a "careful with your competitors from now on, because users no longer buy your stuff because they what to use other better do it right from now on or you'll run out of clients fast".
Obviously this would never happen in the Windows Vista era...first because it was too early for the market and second because it would kill windows faster that a speeding bullet; doing it now that Windows 8 and Server 2012 have excellent kernels, does provide them some protection, but you must admire the gamble and pressure for quality that lies beneath all this "Web App".

There is also something very important in the product line evolution: Project Server 2010 introduced PSI (Project Server Interface). In truth it's a facade to allow coders to interface with Project Server and do...just about anything you can do with see Project Professional 2010, as the Project Server's Client, uses the exact same interface, so you can build a full features Project Professional and interface with Project Server. This is the EYODF (EatYourOwnDog'sFood) at its best. Now Project Server 2013 not only supports this PSI, the "On-Line" option of using it does create a new "complication" for access to database data. Enter the ODATA. ODATA is an open standard for streaming data using JSON or XML interface. Project Server 2013, allows you to use ODATA to generate reports on Microsoft Excel and them publish them on the server. It's clean, it's powerful, it's the future.

Office 365 is big, it allows you to license "as you need", being able to grow and shrink as you need, using either windows and installing the windows desktop version applications, or using the growing number of products being "webalized" into these brilliant "web Apps", allowing for just about any system to run them. Sure not all apps exist for web and it still needs to grow a bit, but you HAVE to LOVE the commitment.

It's been long since I said something like this (long is probably ever since windows NT4 and Windows Server 2003 x64) but, congratulations on a brilliant product line and strategy. Way to go Microsoft this is the culmination of an exemplar pull to mature and integrate a big and complex product. NICE WORK...if you only fix that horrible "metro" thing from both Server2012 and Windows8...

Sunday, June 2, 2013

Thank you Google

The eternal Google - Microsoft battle is long known, however, it recently got heated as Microsoft condemned the Google engineer responsible for finding zero-day vulnerabilities in Microsoft software.
As a result of this reaction, Google announced its new disclosure policy:
After discovering new vulnerabilities, they will alert the software manufacturer and wait 7 days before disclosing the findings to the world. This will allow the manufacturer to patch the software.
So summing up, you now have the new seven-day vulnerability and the software manufacturers will be forced to invest in product quality.
This is big! Google, not only tries their best to give you quality products (most of them, FREE), they now set the pace for the industry.
The message is clear : be good or be gone from the software industry...
Thought this is a clear comment-made-non-comment to Microsoft reaction, in truth it doesn't target Microsoft as the giant has more than capacity to solve and patch the world well within the 7 day timer; however for a lot of other software makers out there, this is "the grow up call".

You gotta love Google.

Thursday, April 11, 2013

Windows 8... is it a flop? is it a changer? what the hell is it?

Some months past Microsoft Windows 8 launch (and I've been trying it from beta versions) a question is pooping in everyone's head: Am I the only one hating this interface? 
And when that is not the question, there is always it's twin sister question: Am I the only one liking this interface?

Let's face it - a phone is a phone, a pad is a pad and a desktop productivity computer is a desktop productivity computer.

For some reason everyone else out there understands that a desktop PC is meant for productivity and work, in exception for Gnome team on Linux (they managed to screw an otherwise brilliant accession of the gnome desktop when they turned Gnome3 into a tablet like thing) and apparently Microsoft with Windows8.

I've tried lots of Operating Systems lately, so I taught myself to separate Kernel and Core quality with the Graphic User Interface Quality.
AND this just turns this article a bit more bittersweet. You see I've talking for years that Microsoft should increase product embedded security and efficiency...I even told time-over that if had Microsoft done the same Apple did, by choosing a light Linux based kernel (like Debian) and built their brilliant GUI on top of it, they would be unbeatable.
Then this! Windows 7 Kernel (thought far from perfect) was really good when compared to it's predecessors (and no, I'm not talking Vista, as it's basically the same Kernel, the problem with Vista was bad Project Management and even worse GUI implementation)...Windows 8 Kernel is so much better that, if they managed to maintain the GUI, it would be a real improvement.
HOWEVER, this time, it seams they just decided to get the kernel right, and kill the GUI... I just don't understand.

I guess the PAD and Smartphone world is growing so much, classic software manufacturers are getting nervous and doing all kinds of mistakes....since even Gnome made-it and they don't have the same market as Microsoft to protect, it seams to me that they are getting confused.

As a PC, smartphone and PAD user let-me just tell you guys what I think;
Phonewise, for pure productivity as a unified communications device, a cheap blackberry with OS5 or 6 is THE THING. For graphic complex apps and specific apps (designed by me for instance)  I use an GalaxyS Duos running Android 4.
My PAD is also an Android 4 (an ASUS TF101), but the version running in the PAD takes advantage of the screen and allows for more complex usage of it. It is the same basic code, just better tuned to the device and screen size.
My computers run different versions of Linux (the laptop runs Gnome2 Ubuntu Studio 10.10, the workstation runs Xfce Ubuntu Studio 12.10).
My virtual Machines run Windows 7 X64 and Windows Server 2008 R2.

So lets make conclusions, I've been running from desktop operating systems that try to play PAD, because for that I HAVE A PAD!!! and I use my phones because none of them tries to BE THE PAD...and believe-me one of them is pretty close to the PAD running the same OS.

Microsoft made ONE smart move thought, they allowed the real desktop behind the crazy "wannabe a pad experience" stuff. So apart from the user not being able to enjoy the new Kernel efficiency because they can't close apps and this eats up memory, they at least can switch to a desktop they almost know from Windows 7.
I find urgent that Microsoft does with 8 the same thing they've done with Vista: quickly release 9 as this being the same 8 with a normally working and efficient GUI.
On the Linux side and Gnome, I honestly think they've lost the edge and XFce was paying attention.

So to close... It's not as it is bad... it is just a bad experience due to that GUI. And this could be just my opinion however I've been seeking everyone else opinion on this, and apart from fanboys, the pure lovers of this interface (from kids to corporate users) are less than my worse predictions indicated.

Just learned that Microsoft is releasing an upgrade to windows 8 called 8.1. Here, you will be able to choose the interface you want to use: metro or that normal productivity desktop you've always had.
I'm having that feeling that, for some reason, I should have gone to the horse races and bet it all on a horse instead of loosing my "fortune-teller" drift on an article...but hey, nothing's perfect...

Saturday, April 6, 2013

Iphone vs Android...errr is that Iphone vs Samsung Galaxy or Samsung vs LG Maximus or is it IOS vs Android...turnips vs mango-fruits?!?!?!!?

These are my thought NOT about an article that talks about the iphone market share, but rather the comments i've read about that article .

The article -

My thoughts -
I honestly can't understand most comments I've read... especially the ones from so called "tech people".

IOS (the iPhone operating system) is based on MacOSX, which in turn is based on FreeBSD (yes it is based on Darwin...the former NeXT machine operating system that in turn is mostly FreeBSD), which in turn is a unix-linux hybrid thing....Android is based on Debian which is probably the best Linux out there. In simple terms these are hybrid-made-monolithic kernels and that is why they mach the hardware perfectly and with big cohesion, stability and performance. Windows on the other hand is based on microsoft own kernels that are hybrid kernels, meaning they have a hard compiled core that loads modules as needed on the fly. So comparing the Droid to Microsoft and saying iphone is different is, for lack of a better word, nonsense... both the droid and the iphone are similar and they have nothing in common with microsoft.

Second thing is the constant reboots and crashes... what are you talking about?

I've had 1 Samsung Galaxy y Duos, and the only problems it had was the battery assembly that would miss-connection if the phone hit a table hard enough..this is hardware design, not the O.S. fault!

My current droid is a Galaxy S Duos and works flawlessly. There is one huge difference between the iphone and the droid. You see iphone admits you are stupid and know nothing about the software and hardware you use on your phone (a good assumption because 99% of users do know nothing about the internals of what they shown here); while the droid lets you do pretty much what you like with it...and if you know nothing about it, you'll have performance problems and with some badly built apps, crashes.

There is another thing about the droid... it runs on zillion different devices, meaning that an app will have better chance of not working properly...while the iphone is a controlled hardware environment.

One could argue that I use my droid out of the box and don't push-it by adding apps, but you would be fact I have so many apps that I partitioned the SD card with to have an extra 2gb partition (now filled with apps). However I also use 2 VERY important apps every droid user should know: "Advanced Task Killer" and "Performance Tool". Reboots? crashes? Complaining about this on an GalaxyS running droid is the same thing as saying your car is bad because it stalled that other time you decided to fuel-it with mud instead of regular Gas!!!

There is one thing about the iphone (and all other apple hardware for that matter) that I think no one really cares: it's priced twice of what it is worth.

A droid costing half the iphone value will have better or equivalent hardware...ohh and at least you'll have an sd card slot to expand at will.

Today streamline droid is the GalaxyS3 (S4 comming up) is so much better than any iphone out there that I find chocking when people still compare them. It's like entering a BMW stand and compare its best 3series with the fiat in the stand across the road, just because it has 4 wheels and it's called a car.

Just because you don't know how to drive the bmw right, it doesn't mean the fiat is better!!!

Several people from my family own iphones, honestly I think it is a stupid buy (and proved that time and time over...especially then they run out of memory and I lend them a spare sd card just for the fun of seeing them reject because they have no way of using it)..that doesn't mean it is bad; its just TOO damn expensive for what it delivers.

I suggest you appreciate the fact that droid phones allow you to actually own them and do whatever you like with them... and if you make bad decisions, live with them or just clean some bad apps or memory. I would never EVER buy a phone that costs twice as much and then behaves as I'm not actually owning it, but rather some company...jailbreak is probably the most pathetic thing on the iphone! It's just like buying a car with a locked trunk that will only unlock when you go to the ONE supermarket the car brand owns :S weird to say the least

Wednesday, March 6, 2013

Ubuntu 12.10 random file system in read-only mode...

Hi all,
If, like me, you are a heavy Linux user, and you have some SATA II or SATA III hardware installed on Your PC, you have a good chance of understanding this post.
You see, most computers out there are Intel... hell most are Win-Tel. But ignoring software choices, hardware wise, most computers out there run on Intel hardware. In our days, running on Intel means having Intel chip-set, which in turn means having Intel SerialATA controllers.
If you have Intel SATA controllers, you are lucky enough to enjoy the widely used and (as a consequence widely debugged) Intel SATA Drivers for Linux.
If, on the other hand, you hate monopoly (in the line of thought that monopoly will kill competitors and as a result render you without options and as a consequence render you slave of a company...allowing it  not to evolve products as often, and price-tag it as they want), you'll probably be running on AMD hardware...and probably use some different  hardware for SATA controllers.

Enter the NCQ - Native Command Query. Back in ParallelATA time, TCQ was invented. TCQ stands for Tagged Command Query. Is simple terms, instead of asking you hard-drive to fetch 1 piece of information from it, you just send a bunch of requests at a time, and allow the drive to chose which it gets first. The drive then uses the location and path of it's heads, relative to the position of the data blocks in the disks and traces a path that fetch information faster but not in the requested sequence. It's no different that a mail man running it's mail delivery routine. If he was to go deliver each letter and then return back to the post office to go for another delivery and then back again, it would take ages compared to a well planned and scheduled delivery run in which he delivers all the letters to a specific path, regardless of the order in which the letters were sent. It was a good idea, however Parallel ATA uses the ISA bus protocols to communicate. That simple fact means the CPU has to hand over all data to and from the disk to memory. As a result TCQ was just a good idea without support from hardware communication protocols as it results in a huge CPU overhead. It's as if the letters had to be given to the mail man buy it's boss one at a time, and his boss would have to go back and forward to fetch each letter...pointless!
SATA controllers, on the other hand grabs a bunch of DMA (Direct Memory Access) addresses and uses them at will. This means that the TCQ version of SATA (called Native Command Query). Now using our example, the DMA address ability of the SATA bus is just like our mailman bag that can hold all the letter he takes before leaving the post-office.
Unlike TCQ, the NCQ is a success and it's been widely implemented in every SATA2 and 3 controller.
NCQ has one more ability over TCQ and that's the new SATA interfaced SSD drives. A lot of you would think that it's pointless to have NCQ if the drive has no moving parts, and so, no optimal retrieval path would have to be calculated to maximize the drive head to disk path...and you would be right about that. However SSD are so fast that the bottleneck becomes the host controller of the drive. So NCQ is used to instruct the drive on what to get while it's waiting for the controller to respond with a ready to receive state.

So NCQ seems like a good thing. It is, however to take advantage of it, one has to buffer things (driver wise). You see, if the Operating systems requests 1,2,3 and the drive replies 2,1,3 the driver has to buffer the request, and the reply on order to allow coherence.
THAT is the problem. Linux drivers for some non Intel controllers seem to have a bug in this caching. The result is that the Operating system often receives data that is out of order and thinks you have disk corruption... and other times you do have disk corruption because of the resulting re-writes. This will trigger a Linux kernel re-mount of the problematic hard-disk in read-only mode, allowing you to read your data and ultimately back-it-up. The more you stress your system, the likely this is to happen. Most people out there is thinking that their drive is failing and as a result are buying new hard-disks.

My case: I am now running the latest Kernel 3.5.0-25 in Ubuntu-Studio 12.10.
And my workstation hardware is ...AMD!
The first time this happened was after a kernel update. So it was clear to me that I had a problem with some of the hardware drivers on that kernel. I then decided to investigate and found out that:
1- Most of the other people having this problem were running on AMD
2- Some of them solved the issue by re-configuring the BIOS controller to SATA I mode
3- Some solved the issue by just changing to a PCI-express Intel based SATA controller.
4- Some solved by disabling the NCQ mode on kernel boot.

Solution until a bug fix happens:
The best way to solve this without changing hardware or rolling back to SATA 1?
just edit the file /etc/default/grub with super user rights
Change the line GRUB_CMDLINE_LINUX="" to GRUB_CMDLINE_LINUX="libata.force=noncq"
save and reboot.

Next time you upgrade your kernel, switch it back, reboot and try.

Wednesday, February 27, 2013

Recovering auto-pruned posts in PHPbb forums...from SQL file backups, instead of the internal PHPbb tool

I've been using PHPbb since V2 It's an excellent tool if you want to create a standard forum without a fuss in record time. I recon that I«ve been off for a while since V2 , but recently i had the need to create 2 sites that, according to specs where just simple forums, so I returned to PHPbb and found my self on V3.
During the rush of putting the sites up A.S.A.P /BTW with install, full config, sample posts, creating emails invite emails, changing the email templates and code to include registration custom fields and template design and implementation of template design with google adds code embed, it took-me a total of 2 hours to get everything done. OOhh and it's 2 hours for the 2 forums, not 2 hours each! Not you have to respect that. Free code that saves you countless ours of coding and templating and configuring time. And mind that I was "rusty" (I didn't PHPbb since V2 and a lot has changed). This, is productivity that HAS to be appreciated: THANKS PHPbb team.

I decided to post this article after finding some misleading information on the PHPbb forums stating (and I quote): "to script to do that automatically has been created yet", "it's just too complex, better restore the entire database".

OK, you have instructions on how to restore and backup de database using PHPbb internal tools (makes sense as it IS the supported feature) but let's just assume that, just like me, you have much more to deal with and you configure your servers to backup automatically using cpanel, for instance.
That means that you will not be using the internal PHPbb backup tool and as a result you'll be able to restore or backup at MySQL (or your db of choice) files level. That is also a good way to work right until the point where you find out that you left "autoPrune = yes" on one of your forums.
You see Auto  Prune is a nice admin tool. Let's just say for instance that you create a forum for improvement requests... you want to have people writing there, but you don't want those posts to stay there for ever. They just loose sense when either you implement, or reject the improvements users request.
However if you just enable it in one of your other content forums, and please mind that by default it is set to prune posts over 7 days with no activity, you might just find your self visiting a ghost forums (especially if you are still starting it and you have few people writing on it.

Now picture you forget that setting on, and also use Cpanel to backup. Well than I guess you'll find your way into this post (or the other forums posts I've quoted") sooner or later.

It's easy to restore your pruned posts if you have an SQL for for your database restore.
Just open your administration tool (PHPMyadmin for instance). At the same time, open your SQL restore file on a text editor and then browse the tables and the respective restore code to check what has been deleted and out of those what do you want to restore.
Then use an SQL tool to run commands on your server and copy-past from the backup, file, clean up unwanted lines and run the command.
It's that simple. The ONLY thing you absolutely need to understand is that there are several tables that have post information and indexing to forums and topics.
So you'll have to perform this procedure in the following tables (and add the full lines to the missing table):
   - PHPbb_posts
   - PHPbb_topics
   - PHPbb_topics_posted

This will render your posts back on to your forum. However, you you also want the forum statistics and last post and poster up-to-date, you need to restore a part of your forums table. So inside PHPbb_forums, find the following fields and restore them from your backup (probably using either an update command or simple copy-paste into location, depending on just how much you need to restore)
   - forum_posts
   - forum_topics
   - forum_topics_real
   - forum_last_post_id
   - forum_last_poster_id
   - forum_last_post_subject
   - forum_last_post_time
   - forum_last_poster_name
   - forum_las_poster_colour

When you finish this procedure, now only you've recovered your posts and topics, you have also restored those statistics indicators on the forum's front page that will point your users to the most active topics.

That's it, that's all. Simple and not by all means in need of a script or a complicated procedure.

Sunday, February 24, 2013

Bad Bad hacker...Protect your JOOMLA website before someone without ethics takes it out.

Recently, there has been a huge wave of sites being hacked by the so-called "Your country's name here"CyberArmy.

I've placed the "Your country's name here"CyberArmy of purpose. First was the Bangladesh, then Pakistan... and I've lost count on the rest of them. I've been watching this from the distance through feeds from twitter and rss, described as a "hacker war between India and Pakistan". However, in this last month I've had to spend over 50% of my time cleaning-up, recovering, protecting and placing back online sites from friends of mine, that were hacked.

I'd like to state here and now that I'm affiliated with the Anonymous movement. However, I'm affiliated with the original concept of anonymous. NOT THE RADICAL fractions, nor the "It's cool to say we are anonymous but we're just a bunch of kids that destroy stuff fractions".
Anonymous has no organized leadership, or body of command, so as a result, a lot of fractions just wander around and follow their own path under the name of Anonymous (counter-sense, I know, but you get the picture).

Most of my friends sites are made on Joomla. Yes, others have .NET sites, or WordPress sites, but those really don't come asking me for help as they already know my answer.
Joomla people, on the other hand, I try to help as much as I can. I don't code components (can't afford the time) but I do customize them and customize the Joomla it self. So when a friend asks for help I try to help...I figure that this is one way to give-back to the community.

One of the things I've not explained is that I didn't charge for that 50% month worth of hard work. This part SHOULD clear my "Anonymous ideal alignment" and my understanding of this wave of STUPID and POINTLESS cyber terrorism.
-If someone hack a government website and brings down the IRS database or VAT reporting and registration services, I'll be the first to cheer and congratulate...partially because very little governments on earth are honest (so they deserve to be robbed in the good old Robin Hood style) and partially because a big organization should pay for the best in terms of security (and most just decide to hire people without technical value, like friends and their colleagues kids, for these high-pay jobs).
-If someone hacks a big company, especially if it's one of those company's that are truly worthless, and do nothing but damage with blind profit in sight (like moody's for instance), I'm the first to applause and pass the message.
-On the other hand, if someone just hacks or defaces a website from a small company, because they are trying to show off skill, in truth they are showing off TOTAL and COMPLETE lack of I.Q. ...and I ultimately hate them with a despise that I can't even compare to an insect. At least an insect does what it is biologically programmed to do...a human, on the other hand, SHOULD KNOW BETTER!
Small companies tend to serve their clients in the best possible way, because they can't afford to loose them; they try to have a lower margins because they are also lighter and with a leaner structure to support; they have very little profits compared to the big companies  so no Lobby is possible, creating LESS government corruption impact; They also pay the full tax load, because they can't "shake the system off" with good lawyers and tax experts on the payroll...They normally have such a lean system that it's almost impossible to access good security experts, making their efforts to migrate their business online extremely vulnerable.
As a result, most get hacked and the majority doesn't recover from the hit. Most had to pay for the website already, and did that at the lowest possible's unthinkable to rent an expert for 1 or 2 full weeks and pay 10k€.

Joomla is an excellent CMS to build up-on. I don't particularly like V3.0, but I love 2.5 and 1.7 .
Joomla gets patched regularly and it's actually very acceptable in terms of  security.
There are 2 main problems with Joomla in terms of security:
- you can install 3rd party components, and not all are safe form bugs.
- the system is protected at code level, this then assumes no attack gets through  as a result the data layer has very little protection.

The most common SQLinjection attack on Joomla, take advantage of one vulnerability on a form on one of the components (generally 3rd party) and Injects SQL code. So the community developing Joomla protected their code, but a part of code done outside their control just bypasses all those protection layers.
So what? Well, normally, the hacker will attack the users table on Joomla and just replace every user with the same username and password.
Why? When you install Joomla, the very first user in the database is the Admin and it's a super user. Anyone logging in with that user can do anything.
How to solve this: There are several protections (some more effective) but I'll go though them.
1-change the user name to something different than admin and description different than super user.
2-add a user called admin with no right at all (public or simple registered)
3-on your database, change the username and email fields to UNIQUE.
So now, next time the hacker tries an injection with a code like "UPDATE something_users SET username= 'admin', password='1234' WHERE 1=1", at the very first row, the database engine will issue an error because admin already exists.
If, on the other hand he tries "UPDATE something_users SET password='1234' WHERE username= 'admin'", he will end up with a user account that has no rights at all.
Is that it? No! a more knowledgeable hacker would simply replace the first row with a different user and still change both username and pass form your super user account. Something like "UPDATE something_users SET username= 'Pamela Anderson', password='1234' WHERE 1=1 LIMIT 1" or  "UPDATE TOP(1) something_users SET username= 'Pamela Anderson', password='1234' WHERE 1=1" or  "UPDATE something_users SET username= 'Pamela Anderson', password='1234' WHERE 1=1 ROWNUM=1"... this will change with the database engine, but you get the picture.
How to solve this: 
1- create a different account on your Joomla administrator (preferably NOT on the first users on your user list)
2-give full administrator permissions to this new account.
3-remove all permissions on the default administrator account (the first row on your table).
OR- just use SQL commands to copy that account to a lower ROW, and then just delete the first ROW.

What if: the hacker is patient enough to go and execute this last hack on the first row, try to log, if the user has no rights delete the first row and re-start the hack until he gets to a row with the real admin user? THIS IS HOW you should think... that what if the guy trying to hack-me is better and more persistent than I am?
Then, the only way to solve this in the database, is using TRIGGERS.
I personally protect MOST of my website databases with a BEFORE UPDATE and BEFORE DELETE or TRUNCATE or DROP:
1-On the Update trigger I simply don't enable updating of the username and email without a safety password input into a value.
2-About the DELETE, TRUNCATE and DROP, I just don't allow-it, period (you never know if the hacker just gets mad and decides to destroy).

So what about that good thinking that the hacker is better than me and can think around my defensive configurations, or that some entry-point on some module or component is wide open and beyond my comprehension until it is too late?
Remember my advice? Assume the hacker is better and more persistent than you are; don't take Joomla updates for granted as they can still have vulnerabilities and they do not patch 3rd party components.
Well, thinking about this I created a protection service. Think of it like a bouncer.
I created a webservice (with internal protection against hacking) that is put to work in a different domain than the one of the site being protected... that way, the hacker will have to hack 2 different websites to clean up his "digital footprints".
The webservice is then called by each index.php page on my clients website and administrative site. The call will send all the request data to the Webservice and wait for a forensic analysis. The reply may point the website visitor to the website, the hacker to a standard "stop trying to hack this site" page, or simply send the hacker or visitor to a "this site is blocked on your country" page.
Independently of the answer being a block, anti-hack or a go through, the webservice logs everything and if (here come the important assumption)  the hacker finds a hole, it will be recorded and later analysed to create a rule against that new vulnerability.

For the time being, I'm only allowing free usage of this tool for all my friends that have been hacked, as I'm still testing the hardening efficiency. But as soon as finish the mobile app to access reports and statistics, I'll place a price tag on it. If you like the project, please keep visiting Http:// (still on final construction phase) under "enforcer" menu....or register and follow this blog.