Loading...
 

No Food for Thought

Food is something you should provide to your brain long before coming to this blog. You will find no food recipes here, only raw, serious, non-fake news for mature minds.

WampServer? Wait!

admin Wednesday July 1, 2015

Short version

Do not use WampServer.

Long version

The first time I installed an AMP on Windows, I chose EasyPHP. When I came back to PHP development on Windows, around 2013, I chose WampServer. I knew about XAMPP and EasyPHP, but for some reason (probably the precise software offered), I went with WampServer. That decision would cost me several hours...

The good

PHP is already buggy, but I suppose I didn't realize the distribution you chose could make it much more buggy. I sticked with WampServer, initially in version 2.4, because it contained Xdebug, was simple to install and worked immediately. I must admit the UI looks good - the design is good, and it lets you choose your PHP and MySQL versions.

The bad

Things changed when I started configuring PHP. Inevitably, the first problem you'll notice is that WampServer ignores your changes to php.ini. It turns out that is because WampServer installs (at least) 2 different php.ini files, one in php/, one in apache/. The file used by Apache is the latter... but of course, the one linked by WampServer's UI is the one Apache ignores.

That must be when I had to familiarize myself with the wamp directory's hierarchy. Duplication can be deplored, but the worst part is naming. Indeed, both of WampServer's php.ini files are found in... wamp\bin\. Well, I suppose whoever decided that scheme considered that all files were binary, indeed.

Eventually, some development required me to enable 2 PHP extensions disabled by default - intl and ldap. In both cases, I must have wasted an hour until I figured out that icu and sasl DLL-s needed to be copied from php\ to apache\ for the extensions to work with Apache.

The really bad

After hitting some bugs possibly in PHP, I tried upgrading it to 5.5, which required me to upgrade from WampServer 2.4 to 2.5. Unfortunately, WampServer does not offer upgrades. What do you do with such Windows programs? Of course, you download the new version and run the installer. I did that and everything went fine, except servers would no longer start, throwing cryptic errors. That's when I headed to the net and found a post on WampServer's forum explaining that upgrading is not supported. Good thing I had the presence of mind to backup wamp\ first!

It turns out the way to upgrade is indeed to uninstall, and only then to install the new version. You must think I had surely ignored a README which warned against such a crazy idea. But... there is no README. The "official" upgrade instructions are in a forum post!

The only good thing about this part is the honesty of the instructions' writer, who warns that upgrading will take 2 hours, up to 4 for inexperienced users. And indeed, if you had enabled a few extensions, had a few virtual hosts and some customization, it will take hours, even if you've been using PHP, Apache and MySQL for a decade.

The ugly

One of my projects used extensions which are disabled by default. Even after enabling them, they wouldn't show in phpinfo. PHP would merely log a useful error each startup:

PHP Warning: PHP Startup: in Unknown on line 0


After an hour of searches, I eventually applied the same workaround I had used (and since forgotten) when enabling them for the first time, copying the missing DLL-s to apache\.

The workaround

After so much frustration, I realized that the huge release notes for 2.5 (again in the form of a forum post) mentioned a simple fix, not only for extensions not loading, but for the tray icon shortcut pointing to the wrong php.ini. That workaround is to click on Apache->Version->2.4.9 via the tray icon. Yes, clicking on that will create symlinks (yes, symlinks on Windows!) from apache\ to php\ for the missing DLL-s, and make the php.ini in apache\ a symlink to the php.ini in php\. Yes, that is the fix, even if that version is already checked. But do not do that without first backing up your php.ini - it will be silently overwritten.

Still think you might give WampServer a go? Here's one last reason why you shouldn't. Playing with the version made me realize one more issue - the links to get different Apache, PHP and MySQL versions are all broken.

The non-lesson

After wasting all of these hours, I figured I would at least go contribute something to the issue tracker. But WampServer has no issue tracker. Not even a forum about issues. Are WampServer developers aware of these issues, and since when? Who knows.

So the only lesson here is already known - avoid software without an issue tracker. OK really...
Even if the website is fancy,
Even if the project seems active,
Even if you share your native language with the developers...
Do not use software without an issue tracker if you don't have some kind of contract with its developers.
And please, developers, avoid versioning your release 2.x until your software is reasonably functional and has an issue tracker.

Unfortunately, this is fundamentally a rant, not a review (and the list of issues is not complete). I will only dump WampServer when the next time to upgrade comes, and I won't recommend an alternative I have not tested until then. Meanwhile, I found a fairly complete review of WAMP stacks, but it's from 2012. If you're starting PHP development, I'm sure you'll find a better WAMP stack than WampServer 2.5. You may want to read about my unsatisfactory experience with XAMPP or about my similarly unsatisfactory experience with EasyPHP.

The paradox of password complexity requirements

admin Tuesday July 8, 2014

Users often choose unsafe passwords. Administrators wanting to prevent that will sometimes implement requirements on passwords. While these usually try to enforce complexity, any computer scientist will see why they also ease cracking, theoretically. And as Matthew Palmer explains, theory is quite right at times.

Ah, if only users would always choose passwords as complex as heuristics.

Bugs

admin Tuesday May 27, 2014

So after a long time, summer is back in Quebec... what we call summer anyway. With these high temperatures, bugs are back too. Yesterday I came back at 1 AM. With the street lamps, I noticed that - obviously - bugs were also back on the door, just waiting for me to open it before infesting the basement. At that time a great idea came to mind, which resulted in me coining Chealer's architectural law:

Philippe Cloutier wrote:
One shall never install a white external door.

Cloutier's architectural law can be generalized - external doors and door frames should reflect as little light as possible on their outside part. Unless insects would seek darkness to sleep safely.

Yes, I hate bugs. I must have become an adult the day a summer camp destroyed my childhood dream of a bug-free world, presenting insects as an essential link of the food chain. Bugs should be small, but they're stealing a big part of my life.

Thankfully, I'm mostly an inside person. A few minutes after enunciating my architectural law, I was enjoying the insect-free inside by eating dinner in a well-illuminated but very silent kitchen. At some point, I realized there were some noises coming from one window. After nearly starting to get scared, I realized one awful huge bug was repeatedly trying to go through the windows.

Fortunately, the kitchen stayed bug-free despite the stupid bug's tens of impacts. Bugs can't go through windows, right? Unfortunately, even though I rarely open Windows, my PC attracts lots of bugs. In fact, an important part of my contribution to free software is to report bugs I hit when using or trying software.

I certainly file several tickets per week, but many are never resolved or even investigated. That's why the following view hit me today:
Issues.png
packages.debian.org has been lagging a little more lately. I take more time to confirm resolutions, so now the 7 latest mails in my inbox are bugfix notifications in 7 different projects/packages, which all arrived in less than 100 hours. If that rate was maintained, all of my open bugs would be solved by 2016. Unfortunately, I experienced 2 bugs just in the process of writing this post, one which was already fixed, and one which I reported (my fifth ticket against Debian's issue tracking system), which made me hit a Thunderbird bug (which I didn't report this time). So that schedule might slip a little with the software I use - or should I say, test.

Debian developers don't always treat tickets diligently, but now is an occasion to send a big kudos to my squashing colleagues. The bugs above weren't the most difficult, but there's one which has already started making my desktop less buggy.

I won't surprise anyone announcing that my favorite Firefox extension is Firebug. But as Firebug doesn't apply to Thunderbird, my favorite Thunderbird extension is FireTray. FireTray works around Mozilla's biggest issue on GNU/Linux - new mail notifications.

FireTray still has some way to go before reaching maturity, but my biggest issue with it was by far #119, a show-stopper if a show is expected to be attractive. I expected an easier fix - all I wanted was a non-broken notification icon. But I didn't expect the result to be so pleasing:
FireTray.png
After hard work by Foudil Brétel, I now get this superb new icon (at least until I switch back to KMail, to which I'm hoping to give another chance soon). And you too will with version 0.5. Thanks to you too, foudfou! The next bug-squashing spree will be even more enjoyable smile

Now, let's just hope that shiny new icon won't attract more bugs... otherwise, it will take the door.

Update 1

A couple of years after writing this, I found an image about bugs I had forgotten I had created:
In French, the colloquial verb 'to bug' means software is misbehaving due to a software bug.
In French, the colloquial verb 'to bug' means software is misbehaving due to a software bug.

13 years later, after many more started offering such certifications, it is well overdue to put this timeless work of art in the public domain so it can be adapted to your favorite(?) software provider.

Update 2

Years after writing this, I realized the publication date didn't make sense. And eventually figured out that the update I did in 2016 had changed the year from 2014 to 2016. Because the blog engine wasn't designed to publish a post with a past date... so the HTML dropdown's options only started at the current year, causing the date to be silently changed - ah, bugsexclaim

Microsoft - Left-handedness is evil (but less so if your hand is holding a Microsoft mouse)

admin Monday March 10, 2014

Today appears to be my Microsoft rant day. Sorry, that might have been prompted by an awful experience claiming the warranty for a broken Microsoft keyboard. Readers who are free of Microsoft products have my apologies (and much luck).

As Ned Flanders brilliantly illustrates in The Simpsons, left-handedness is an economic problem. Mass production of artefacts for a majority of right-handed consumers disadvantages left-handed people. Keeping 2 items in stock - for one thing - comes at a price.

On the other hand, when a company produces software, being friendly to left-handed people shouldn't be costly. There is no marginal cost to a software sale, right? Well, it appears that the Microsoft Mouse and Keyboard Center isn't right at the center on the issue of handedness.

The ability to invert the mouse buttons has been present since at least Windows 95. Not a surprise, since handedness is possibly the most important mouse setting. However, when I bought my Microsoft keyboard, Windows automatically installed the modern Microsoft Mouse and Keyboard Center. I had previously noticed that the center was a regression for people often moving their mouse to the other side like me. Rather than controlling a checkbox in the control panel, inverting the buttons requires to redefine the behavior of each button via the Microsoft Mouse and Keyboard Center. Microsoft's configuration center removed the checkbox from the control panel.

What I hadn't noticed is that if your mouse is not supported, it does not appear in the Microsoft Mouse and Keyboard Center. And the control panel's checkbox is still gone. So if you own a Logitech or some even rarer mouse like I do, you're not dreaming. There is actually no way to invert your mouse buttons with this software installed, even in Windows 8.1. And this is not a new problem! Worst, I believe Microsoft Mouse and Keyboard Center had at least one feature. When you invert buttons with it, your RDP sessions will handle clicks correctly, as opposed to the default behavior from Windows, which I will be forced to live with.

In a sense, I'd like to think that this is an abuse of vendor lock-in. Because if it's not, this is proof of terrific incompetence.

Microsoft Outlook 2013 and IMAP - ouch

admin Monday March 10, 2014

After catastrophic issues with our file server caused by Outlook PST files, I've been trying to move from POP to IMAP at the office. A few months ago I did a first step, migrating my own mailbox. This was a very painful process.

Even though I'm using version 2013, which has had "a significant investment in IMAP", the result is impressively bad. The system tray's envelope icon, which shows when you have unread mail, now appears every few minutes. This feature becomes worthless and I gave up on it.

2 weeks ago, I started working from home thanks to our VPN. I was amazed to see huge bandwidth usage on the VPN ever since. I realized yesterday that the culprit was Outlook, which wastes close to a megabyte of bandwidth per minute, even when it's merely idling. That's right - even if I'm not using Outlook and not even receiving mails, Outlook will download about 28 GB per month, which is about half of my bandwidth limit. This happens even though I reduced my number of folders below 50 and my mailbox's size just above 1 GB. It doesn't depend on whether the server interval is 1 or 10 minutes (the latter being the maximum). Traffic shows that Outlook is doing something at a regular interval, about 18 times per hour. Yet, it seems to support IMAP IDLE (that is, mail is fetched instantly).

To be fair, I haven't tried to reproduce this with a fresh profile. I'll just dump Outlook for the time being.

Update: There is a pretty straightforward workaround: changing the send/receive interval. One way to do it is via the Advanced options, Send and receive section. Click "Send/Receive..." and adjust the interval for the default group.

Unfortunately, even though I thought my inbox showed mail instantly, it apparently doesn't. After changing the interval to an hour, it now takes time to notice new mail.

ASUS F2A85-M

admin Monday May 6, 2013

Last month I bought my first desktop in a decade. Ordering and getting the parts from DirectCanada was already an experience. I expected some surprises as this was my first SATA PC, my first SSD and my first APU. Assembling was fairly uneventful. The parts are:

AMD A10-5700 APU Quad Core Processor Socket FM2 3.4GHZ 4MB 65W Retail Box$128.56
ASUS F2A85-M/CSM mATX FM2 85X FCH DDR3 2PCI-E16 1PCI-E1 1PCI SATA3 DVI HDMI USB3.0 Motherboard$93.75
Samsung 840 Series 120GB 2.5in SATA3 MDX Solid State Disk Flash Drive SSD$99.37
ASUS DRW-24B1ST 24X SATA DVD Writer OEM Black$17.79
Corsair Vengeance CML8GX3M1A1600C10 Low Profile Heatspreader 8GB DDR3-1600 CL10 Single Memory Module$55.33
Corsair CX Series CX430 430W ATX 12V 80 Plus Bronze Power Supply 120mm Fan$42.06


The ASUS F2A85-M/CSM uses a RTL8111F/8168 Ethernet controller and a Realtek ALC887 HDA chip. The A10-5700 uses a Radeon HD 7660D (Northern Islands series).

The first surprise was realizing my HDDs wouldn't fit on the motherboard - there's no IDE on the F2A85-M. Oops :-/

On the first boot, I wondered whether I had forgotten to plug in a fan. But no, the PC was just really quiet. Of course, I don't have any extension card, not even a graphics card, so I just have 3 fans (the PSU's, my case's old 120 mm fan and the CPU's). Even though I use the stock CPU fan, it's generally very silent. Good thing I bought the 65 W A10-5700 rather than the 100 W A10-5800K. The most noisy component was the 120 mm fan, which I set to medium speed. Now the PC is a quite a bit more quiet than I expected (i.e. very quiet). No HDD helps, but this is very satisfying considering that I didn't choose any part specifically to obtain a silent PC. Even with the 4 cores stressed, the PC remains silent.

BIOS-es surely evolved a lot in 10 years. The F2A85-M's BIOS is impressive. The only problem is it wouldn't detect my SSD. It turned out that one of my SATA cables has a partial defect. One of its connectors sometimes fails to connect, even if it is clipped. The other connectors don't have this problem. ASUS is not very generous in its F2A85-M accessories - with only 2 SATA cables, having a faulty one is a little annoying. But well, it may be an isolated case. All I have to do is to push on the connector when I plug it - and avoid touching the cable after.

At this point, I installed Windows 8. That was easy, almost completely bug-free. The driver disc from ASUS is cumbersome (basically forces you to install all of them), but since no extra drivers are needed, this is not a big deal.

With so few problems up to that point, it was time to get to the real thing - Debian. I installed Wheezy (then testing). The install went without issues (see #708019 for details). Even though the installer says the Ethernet card requires non-free firmware, it does not.

The real challenge started when I first booted Debian. Boot messages were horrific and GNOME (installed by error) was unusable. When I got to a tty, I realized there was a pulseaudio/Linux bug. I upgraded to experimental's Linux 3.8 and everything was fixed. You won't want a pure Debian wheezy on an F2A85-M. I don't know when the Linux bug was fixed, but other F2A85-M users should get a Linux version higher than 3.2, perhaps as high as 3.8.

With 3.8, the boot got quiet and GNOME got usable, but the screen resolution remained poor, since X used the generic vesa video driver. As I found out, current Radeon cards require (non-free) firmware to be installed to run with the radeon X driver. After installing firmware-linux-nonfree and rebooting, X automatically chose the radeon driver, which has been working as well as it ever did since. I'm curious to try with a newer radeon driver and mesa, but I already get decent 3D acceleration with the stock driver. Nothing great, but Neverball has fair fluidity. I tested a bit on Windows, and it seems the GPU itself is quite limited, more than I expected. I may decide to buy a graphics card if I want to actually play 3D games.

With the basics right, I went to install Flash and Java support. Java turned out to be already supported - yay! As for Flash, there is a Flash player in development by default, but I opted to install Adobe Flash Player. There were some sound problems remaining. The hardest one caused the Adobe Flash Player plugin for Iceweasel to be quiet, while sound worked everywhere else. I eventually found out that the default sound card is by default an HDMI sound card! Which is apparently not supported in Wheezy (even with radeon.audio=1). For some reason, KDE doesn't use that one, but Adobe Flash Player only tries it and speaker-test uses it too (see #709106).

If you have the same problem and wonder if the cause is the same, you can test by reloading the snd_hda_intel module with a parameter:

modprobe snd_hda_intel index=1,0

The more difficult part is to unload the module so you can [re]load it.

If that works, the permanent workaround I used should work for you, i.e. making the motherboard's card the permanent default by creating an /etc/asound.conf with the following content:

defaults.pcm.card 1


With Debian 9 (Linux 4.9), HDMI audio is now supported.

Sensors

The basics working fine, I tested the components. The motherboard has a sensor, which can be read in the BIOS. The motherboard uses ITE's IT8603E chip, even though ITE does not even acknowledge that chip's existence. As for ASUS, it doesn't even say the F2A85-M uses the IT8603E. But Linux supports it8603 from version 3.14 (Debian 8). Unfortunately, the CPU's temperature is not clear. The it87 module reports a temp1 around 40, which looks like the CPU temperature reported by the BIOS. But CPUID HWMonitor shows a "Package" temperature around 47-62 °C usually, 87 maximum (under Stress testing), as of version 1.34, and, after upgrading to 1.40, between 0 and 37 °C, which is definitely broken, as the PC is inside. Version 1.40 also has a "Cores" reading between 49 and 86 °C, which seems to match version 1.34's Package reading. And, its "CPU" reading varies between 30 and 52 °C. Core Temp, for its part, indicates completely ridiculous temperatures (version 1.11 and 1.14, 2019-07-11). As for the k10temp module, it reports a broken temperature between 0 and 23 degrees. Good luck...

Conclusion

I won't order from DirectCanada again. As for my choice of parts, I do not really regret my choice, but I was expecting better from ASUS, in particular due to the missing specifications of the CPU thermometer. I'm very happy with the silence. The non-free firmware needed by the Radeon HD 7660D is a disappointment.

To summarize, it's easy to get most of the F2A85-M working almost completely on GNU/Linux once you know the issues. From a stock install, you need to:

  • Install firmware for the Radeon HD (previously firmware-linux-nonfree, now firmware-amd-graphics).
  • If you install an old distribution, upgrade to a recent Linux version. Good news: since my install, Linux 4.19+ is now in Debian stable.


After this, everything but sensors should work: USB, SATA, audio output, Ethernet, graphics, ODD writing. Untested: audio recording, eSATA. See the Debian HCL for more details on the devices.

Even though this is a blog post, I'll try to keep this state of things up-to-date, perhaps via comments. Comments from other users are also welcome.

Goodbye Sun, Hello Freedom!

admin Sunday April 28, 2013

I installed Debian countless times. So when I installed wheezy on my new desktop, I was following the usual routine of adding non-free sources then installing Adobe Flash Player and Sun Java, when I realized that the routine didn't work anymore - Debian no longer distributes Sun (Oracle) Java. So what should I do? Before I resigned to go back to java-package, it came to my mind that Sun Java's removal from wheezy was not new. How did my laptop work?

I had a nice realization checking that. I actually never installed Sun Java in the last install on my laptop, a year ago. I must have hit the problem then and delayed finding a solution, or chose to try IcedTea instead.

Whether this was intentional or not, it's time to realize that one doesn't "need" a proprietary Java anymore. Whether this is mainly due to IcedTea's quality or to a declining use of Java, it's now more than a year without proprietary Java, and I didn't even notice.

Improvements which you fail to notice are the best kind. Thanks to everyone who made this failure possible!

Fully Free

Kune ni povos is seriously freethough not completely humor-free:

  • Free to read,
  • free to copy,
  • free to republish;
  • freely licensed.
  • Free from influenceOriginal content on Kune ni povos is created independently. KNP is entirely funded by its freethinker-in-chief and author, and does not receive any more funding from any corporation, government or think tank, or any other entity, whether private or public., advertisement-free
  • Calorie-free*But also recipe-free
  • Disinformation-free, stupidity-free
  • Bias-free, opinion-free*OK, feel free to disagree on the latter.
  • Powered by a free CMS...
  • ...running on a free OS...
  • ...hosted on a server sharedby a great friend for free