TideLog Archive for the “Programming” Category

Recently, using ReactOS Build Environment, I started to get weird errors when trying to update my ROS source. It would say weird things like, “RosBE is outdated. Installed version: 2.1.3 Recent version: .” and also upon running the ssvn update command, I’d get, “The selected branch does not exist or the Internet Connection is down.

It appears that the servers moved to HTTPS, and there’s a bug in the batch files that control the wget commands. Kana suggested to change all the wget command lines in the sSVN.cmd file, adding “–no-check-certificate” to the ends, this fixes the problem!

 

Comments No Comments »

In wacky tech news headlines this week, John Deere, a General Motors company, and the world’s largest manufacturer of tractors and farm equipment, has said that farmers don’t “own” their tractors, because of ECU code. Sure, we pay for their vehicles. But we don’t own them. Not according to their corporate lawyers, anyway. In a particularly astounding display of corporate delusion, John Deere told the Copyright Office that farmers don’t own their tractors. Because computer code snakes through the DNA of modern tractors, farmers receive “an implied license for the life of the vehicle to operate the vehicle.” It’s John Deere’s tractor, folks. You’re just driving it.

Several manufacturers recently submitted similar comments to the Copyright Office under an inquiry into the Digital Millennium Copyright Act. DMCA is a vast 1998 copyright law that (among other things) governs the blurry line between software and hardware. The Copyright Office, after reading the comments and holding a hearing, will decide in July which high-tech devices we can modify, hack, and repair—and decide whether John Deere’s twisted vision of ownership will become a reality.

Seeing as all modern CANBus vehicles, not just tractors, have computer code running through their Controller Area Network (CAN) control units, for things like the traction control, stability control, ABS, fuel injection, and throttle control (drive-by-wire) systems, this latest news sends shivers through me, as I regularly modify ECU fuel maps on buses and cars, to a professional standard.

Like the license terms for Windows and many software packages, you don’t own the software, but you own the computer it runs on, that should apply here by default, it’s stupid greedy corporations getting attention to themselves, again. Be realistic, how many farmers are going to modify the ECU code in their tractor, or even care that it’s there? It’s unheard of. They’re running a business, not practising hacking. I’ve never heard of a vehicle owner modifying fuel maps or control unit code, as it requires specialist tools, not to mention knowledge, to do, so John Deere are just being stupid, and I love General Motors, driving Vauxhall cars in life, they’re cracking motors.

It makes sense to John Deere: The company argues that allowing people to alter the software—even for the purpose of repair—would “make it possible for pirates, third-party developers, and less innovative competitors to free-ride off the creativity, unique expression and ingenuity of vehicle software.” The pièce de résistance in John Deere’s argument: permitting owners to root around in a tractor’s programming might lead to pirating music through a vehicle’s entertainment system. Because copyright-marauding farmers are very busy and need to multitask by simultaneously copying Taylor Swift’s 1989 and harvesting corn? (I’m guessing, because John Deere’s lawyers never explained why anyone would pirate music on a tractor, only that it could happen.)

Haha, but what about SAFETY, John? The modifying of vehicle code by an amateur can lead to DEATH, and ACCIDENTS. Hasn’t really bothered anyone till now, though, has it, Deere? CANBus has been around since the 80’s, too, you don’t see, “Man causes pileup and mass death by modifying car software!” in the headlines? Nope! Seeing as most electronic devices like TV’s, microwaves, phones, and even remote controls have software in them, this could open up a massive debate, as you are still classed as owning those.

Comments No Comments »

A big bug in the Linux version of Pinta has stopped me from using it as my Photoshop replacement. Here’s my situation: I have an image of one of our Superwoman models, for example, that is quite large, but Superwoman herself is quite tiny, in the middle of the background. I select the whole image, and copy it to the clipboard as-is. I don’t want to use the select or crop tool. I create a new canvas that is smaller than the source image in either height or width, and then paste in my image to the new canvas, so I can move it around and position it just right without having to guess using the select tool on the original.

Make sense? Hopefully! Anyhow, Pinta in its default state, SQUASHES the image to fit the canvas, if you tell it not to resize the canvas, and it looks completely wrong, it literally squashes the image from top down, you know what that looks like without a screenshot, right? I’ve fixed it in my own sourcecode copy and Pinta now behaves as I want it to. I’m not sure the devs would want my changes, but I’ll ask anyhow.

1. Grab a copy of the source, by whatever means by using Terminal (install Git first using “sudo apt-get install git”).

2. Then clone the repo with: “git clone git://github.com/PintaProject/Pinta.git”.

3. Now your source tree is ready, it will be in your Home folder under a folder called ‘pinta’. Install MonoDevelop, and open the Pinta.sln solution file using it.

4. Once open, find the Pinta.Core/Classes/Document.cs file, and after line 806, find:

            // If the pasted image would fall off bottom- or right-
// side of image, adjust paste position
x = Math.Max (0, Math.Min (x, canvas_size.Width – cbImage.Width));
y = Math.Max (0, Math.Min (y, canvas_size.Height – cbImage.Height));

Simply change it so it looks like this:

             // Modified by Tidosho. Image would be stretched/squashed if canvas was smaller and user chooses not to resize it.
//
// If the pasted image would fall off bottom- or right-
// side of image, adjust paste position
//x = Math.Max (0, Math.Min (x, canvas_size.Width – cbImage.Width));
//y = Math.Max (0, Math.Min (y, canvas_size.Height – cbImage.Height));

It’s a bit of a dirty hack, as it simply comments the procedure out, but it works. A possible fulltime modification could be a controllable scale type operation like in Photoshop where you control the scale using handles round the image, but I don’t think Pinta has a scale API.

UPDATE: It isn’t as serious as I first thought, but still annoying. The reason the image is squashed when pasted is because Pinta uses squashed thumbnails for use in the open documents list, and the History. As soon as you drag the layer pasted in, it corrects itself, but then you have to drag it back into position.

 

Comments No Comments »

As it is when shipped retail, this drive is terrible. The drive constantly tries to park its heads, lagging the system, even during copy and move operations. With it being a top end 7200RPM drive, this is unacceptable, especially if like my Clevo, it is installed in a gaming machine. It is the power saving “features” of the firmware that cause it. The drive also exhibits “beeping” symptoms where the voice coils of the arm recieve a high current to wake it up and seek track, the high current effectively turns the coil into a speaker, and it makes a beeping sound. The drive constantly seems to miss beats because of the parking issue, causing the arm to miss and have to be shocked back into place by the controller.

Using tools like HDDScan to disable the APM (Advanced Power Management) and AAM (Advanced Acoustics Management) features aren’t permanent, once the drives are power cycled the issue starts all over again. The drive refuses any permanent disable ATA control commands.

There is a Dell firmware that will get rid of the issue, and take the firmware up to 05SDM1. My Clevo’s laptop’s drive started out with 2SDM1 firmware. The new FW makes the drive visibly quicker. The auto flasher doesn’t work, instead we need to manually force it, I’ll show you how.

1. Download the Seagate Update Utility ISO image, hosted on TideLog, this very blog, by clicking HERE. Extract the ZIP file, you’ll find an ISO file called Seagate Utility.iso.

2. Burn the extracted ISO to a CD-RW or DVD-RW, and restart your computer. When your computer restarts, enter your BIOS and make sure the computer is set to boot from CD.

3. The updater will start on its own, but it will actually fail even though a green screen is shown, you will need to manually force it. It will dump you back at a command prompt, so type:

FDLH -m HOLLIDAY -f 0005SDM1.LOD -i ST9500420AS -b -v

Essentially this line forces the detection of Seagate ST9500420AS drives, and force flashes it, even if the BIOS doesn’t have the Dell asset tag embedded.

4. This works on any machine, including Dell Studio, Asus, my Clevo M571TU, and the M570. Any machine with a Seagate ST9500420AS drive should work fine. Any drives with “GAS” on the end are the same drive but with G-Shock protection.

Comments No Comments »

I updated Firefox today, and was greeted with the follwing message:

Different by Design

Thanks for upgrading! You’re now ready to enjoy the very latest in speed, flexibility and security. As a non-profit, we’re free to innovate on your behalf without any pressure to compromise. That means a better experience for you and a brighter future for the Web.

Hahaha, I burst out laughing! If they’re free from pressure to compromise, then WHY are they so keen to copy Google with Chrome’s limited dumbed down interface? It seems like the programmer’s version of peer pressure to me. Google’s getting bigger, sticking its fingers in pies it knows nothing about (Google +, Google Drive, and all the other flopped stuff they’ve canned in the past) so Mozilla are trying to claw back market share. All because Chrome is sneaklily bundled with installers, whereupon 99% of users are the Next, Next, Next and Finish button clicking types, so Chrome magically gets big market share thanks to usage data and setting itself as default browser after being craftily installed.

It was only ever since that Chrome-browser-for-netbooks crap came along that Mozilla decided to follow suit and give the majority of us with proper systems and big screens a limited UI by default, to supposedly give us more “screen real-estate”. We don’t want, need, nor asked for it. A lot of sites are bad enough where they are centered to 800px wide, leaving tons of whitespace on a 1200px + display. God help standard white page with black text HTML pages, they look terrible.

Mozilla may not have investors and directors to please, but they can’t keep copying competition. Seamonkey is based on Mozilla, but still has a full UI with menus, they go their own way, which is the way Firefox used to be. Google’s ideas are never inventions, they themselves copy stuff that’s already done. Like GMail, that is simply a nice frontend for an Exchange server somewhere, and the GMail Labs, they’re just plugins for said frontend. They like to make people think they invent, but all they do is take stuff that exists and make it look nicer, or in the latest GMail look, make it worse.

JavaScript email frontends have existed for years. I use Roundcube, that trounces GMail in every way possible, and it’s open source and supports plugins. Companies need to start inventing something new rather than copying the existing.

Comments No Comments »