I am convinced that the unreasonableness and arrogance of the present moderators on the Ubuntu Forums is doing serious damage to the reputation of the Ubuntu Linux distribution. Many potential Ubuntu users are surely put off by the petty and niggling attitude of those running the forum, which is preventing much useful information from reaching Ubuntu users.
Let me give an example, but before I do and to help you understand where I am coming from, here is a little bit about me: I have been using Linux since 1998 and, because I like to help people, started a blog to help Linux users shortly thereafter. After I started using Ubuntu I started a blog with useful tips and detailing my experiences with the distro. You can see it here https://steveyoung.wordpress.com/. Recently I have developed two Android applications that are both entirely free, one https://play.google.com/store/apps/details?id=org.microwavemaps.germanarticleUS has over 860 users (5500 downloads) and a rating of 4 stars and the other https://play.google.com/store/apps/details?id=org.microwavemaps.germanarticleplus has 130 users (660 downloads) and a rating of 3.3 stars. I am telling you this to show that I am a reasonable man who likes to help others.
Now to my example. I joined the Ubuntu Forum in August 2006, nearly ten years ago, and have never had a warning or infraction in all that time. Suddenly, on May 4th I received 11 infraction points (Reason: Insulted Other Member(s)), 10 of which will never expire. This means, officially, that all of my posts have to be moderated before being published. However, in actual fact, of the last two posts I made which contained a solution for the Bumblebee/nVidia problem in 16.04, and nothing else except a comment in the second post that the first hadn’t been published yet, one was published after five weeks delay and the other one has still not been published yet over two months later. Update:I recently tried another post which has not been published after two weeks.
What did I do to deserve this after never having had a single issue on the forum before? Well, I was posting to the thread 16.04 (Xenial Xerus) Known bugs and work-a-rounds where I posted two comments containing information on problems in 16.04 and workarounds for these problems. Someone complained that the Software Center was not able to install third party packages such as Chrome or Skype. I offered the information that one could use dpkg in the command line. I also offered in the same post the opinion that “But that’s not the point, a LTS shouldn’t have such issues! And if it does they should be quickly recognised and fixed.”. QIII responded with “Please keep your posts strictly to known issues and work-arounds. This thread is intended neither for editorials nor for critiques. You are welcome to make those posts elsewhere in appropriate sub-forums.” I thought this was a bit rich coming from someone who, unlike myself, hadn’t posted a single workaround in that thread.
I was getting very frustrated with the nVidia problem because I was booting into a black screen and having to sort it out every time I switched my computer on (I’ve found a solution now and this was what I was trying to post two months ago) so I posted a question about the point of the thread. QIII replied that “This thread is for just what it says: known bugs and work-arounds. This forum is populated by users such as yourself. For bugs to be brought to the attention of Ubuntu developers (who don’t hang out here) they must be reported. The Ubuntu Forums do not act as a bug report mechanism.” I replied to another user giving a link to the weeks old bug report for the nVidia problem and then I did something I shouldn’t have done. I let QIII’s comments get to me and asked “To QIII, do you ever contribute anything useful?” After my post failed after half an hour to appear I reposted it. I was unaware that I had been given an infraction I’m afraid as I set up my account ten years ago and have never had to worry about such things in all that time. You can read the actual post here but you have to be logged in to the forum.
I wrote to howefield, who gave me the infraction points, and to the “contact us” link using the “Ubuntu Forums Contact Us Form” explaining the above. Below are the replies I got from the moderators. Notice how Hugh Walker (howefield) feels he can call me a “drama queen” whilst at the same time banning me for insulting his friend for asking if he ever contributes anything useful:
On Fri, May 06, 2016 at 08:19:42PM +0200, Stephen Young wrote:
Am 06.05.2016 um 20:01 schrieb Hugh Walker:Have you really gone 10 years without reading the Code of Conduct ?Yes. And this is the first time I've ever broken the rules contained therein. Amazing isn't it? (It's not really!) I guess it's goodbye then, if the forum has become so insecure with itself that you can be banned for making such a comment to a precious moderator.
Such a drama queen, however as you wish.
Goodbye and good luck,
In your previous emails, you waved a goodbye, so goodbye it was.
No need to repost in the Resolution Center what all the admins have already read from the FC mailing list.
Just for your information, as you already have had an answer and decided to leave, I see no point approving the RC post you just made.
Forums Council member.
Hello, I am a long time Ubuntu user and would rather be able to keep on using the the forum. Surely you can understand that. I have not decided to leave, I am being forced out. This is the first time I have ever broke the rules in ten years and I certainly wouldn't do it again. But don't you see the double standards here? I am issued with 11 points for insulting a member yet howefield can call me a "drama queen" with impunity, simply because I asked to allowed to continue to contribute to the forum. RC posts are readable for the normal user not just the administrators, so your point about not needing to post it because the admins have already read it is invalid. The forum doesn't belong to the admins only! Please at least approve the RC post so that forum members other than the top table should are aware of how you are treating a long-standing forum user. Please be aware that I will use whatever means are at my disposal to make this public even if you refuse to publish my account of what happened. Regards, Stephen Young.
We have already discussed your problem here on the mailing list, there is no need to take it any further, either here or on the Forums. If you had actually paid attention to the pm's you were sent, none of this would have been needed, but since you decided to ignore the first warning and repost your comment about QIII, our decision stands. As far as making your argument public, go ahead, we have nothing to hide, in the end, you will still be on moderation. Regards cariboo
Just a quick procedure to be upated later.
1) Make directory for project
2) cd into directory and run “cordova -d create helloworld com.example.hello HelloWorld”
3) cd into helloword and run “cordova platform add android”
4) go to helloworld/platforms/android/cordova and make build executable
5) run “cordova build”. The apk appears under /home/steve64bit/helloworld/platforms/android/build/outputs/apk/android-debug.apk
6) if ok (test on phone) run “cordova build –release”. The apk appears under “/helloworld/platforms/android/build/outputs/apk/android-release-unsigned.apk
7/ sign the apk by cd’ing into /helloworld/platforms/android/build/outputs/apk and running “jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/my-release-key.keystore android-release-unsigned.apk alias_name -signedjar android-release-signed.apk”.
8) zipalign the signed apk with “zipalign -f -v 4 android-release-signed.apk android.apk”
I recently received an email from Google which read “This is a notification that your app is built on a version of Apache Cordova that contains security vulnerabilities….. You should upgrade to Apache Cordova 3.5.1 or higher as soon as possible.” This was easier said than done because I had built my apps using the method explained here which involved downloading and extracting PhoneGap/Cordova files and placing them in an Eclipse/ADT(Android Development Tool) project. Unfortunately the last download available from the PhoneGap download page is 2.9.1 from Nov 2013. http://phonegap.com/install/
I tried registering and asking some questions to the PhoneGap group on Google Groups but none of my posts were accepted for publication. This is the first time ever that this has happened to me in over 20 years of using usenet. Eventually, after I wrote to the owner of the group, my posts were published. But I never received a reply to my email or an explanation of why it took 7-10 days to publish my questions.
So I started looking around elsewhere and have managed to upgrade to Cordova 3.6.3-0.2.13 and rebuild my apps with it. The latest versions of Cordova are CLI’s (Command Line Interfaces), I haven’t managed to integrate it into a programming environment yet but I have managed to use it as a standalone tool to update my apps. Here’s how I did it:
1) Install the Android SDK Tools
a) Download the tools from here
b) Unpack the .tgz file you’ve downloaded. By default, the SDK files are unpacked into a directory named android-sdk-linux. Move it to an appropriate location on your machine, such as a “Development” directory in your home directory.
c) Go to the directory android-sdk-linux/tools and double-click on “android” to run the Android SDK Manager.
d) In the manager
Open the Tools directory and select:
Android SDK Tools
Android SDK Platform-tools
Android SDK Build-tools (highest version)
Open the first Android X.X folder (the latest version) and select:
A system image for the emulator, such as ARM EABI v7a System Image
2) Install the Cordova CLI following the instructions here
3) Create a project
a) Create a directory for your project and cd into it.
b) Create project with:
cordova -d create hello com.example.hello HelloWorld.
hello is the name of the directory created, the com.example.hello argumen HelloWorld provides the application’s display text. You can edit both of these values later in the config.xmlfile.
c) Add the platform(s) with
cordova platform add android (or ios, amazonfireos, blackberry10, firefoxos)
d) Edit config.xml. Your AndroidManifext.xml file will be written from this. Important: Use “android-versionCode=”X”” to set the version code, if you use “versionCode” it will be ignored.
e) Add your index.html, js images and css files to the relevant folders in the www folder
4) Build the project APK.
a) cd into the directory cd /path/to/app/files
b) Build a test version of the apk with the command
The result will be a file called yourApp-debug-unaligned.apk in the directory /path/to/app/files/platforms/android/CordovaLib/ant-build.
c) Move this apk file to an android device and tap it to install and test it.
d) If all is well build a release version with cordova build –release. The result will be a file called yourApp-release-unsigned.apk in the directory /path/to/app/files/platforms/android/CordovaLib/ant-build. (See b. below for a method of signing during the build)
5) Signing the APK.
a) Use jarsigner directly.
After you have created your APK using cordova build –release you can cd into the directory /path/to/app/files/platforms/android/CordovaLib/ant-build and run the following command:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release_key_name.keystore app_name.apk alias_name
Jarsigner will prompt for the passwords (keystore and alias) and will sign the APK.
b) Part of the CLI workflow. (Recommended)
Before you run “cordova build android –release”, create an ant.properties file in platforms/android with a keystore path and alias name:
The standard Cordova CLI release build process will now prompt for the password and automatically sign the APK, ready for upload to Google Play, or other distribution method. The APK will be created in platforms/android/ant_build/app:name_release-unaligned.apk
6) Align the apk
cd into platforms/android/ant_build and run
zipalign -f -v 4 yourApp-release-unaligned.apk yourApp.apk
You will now have an updated copy of yourApp.apk in platforms/android/ant_build which you can upload to a android device to test and upload to Google Play if it is OK.
Whatever I did I couldn’t change the versionCode in the AndroidManifest.xml of my app.apx. I finally figured it out.
In the config.xml file use
I have used a Netgear Wireless N-300 Router WNR2000 for a few years now. When I decided to move an old PC into my workshop I bought a USB-adapter WNA3100 to connect the PC to the WLAN. Unfortunately there doesn’t appear to be any Ubuntu drivers for this product available from Netgear so I decided to use ndiswrappers which should enable Windows network device drivers to be used with Ubuntu.
Unfortunately the version of ndiswrappers and ndiswrappers-utils-1.9 downloaded via apt didn’t work.
I eventually got the adapter working with the following method:
- You need the Windows drivers so either install the Netgear software via Wine or on a Windows machine and copy the directory ~/.wine/drive_c/Program Files/NETGEAR/WNA3000/DriverWinXP2000 to somewhere where you will not lose or delete it.
- Do a complete removal of ndiswrapper to get rid of the old install.
- download the latest ndiswrapper tarball (ndiswrapper-xxx.tar.gz) from http://sourceforge.net/projects/ndiswrapper/
- Put the tarball ndiswrapper-xxx.tar.gz in a folder where you can find it. I put the windows drivers and the tarball in a folder called Netgear in my home directory.
- cd to the directory containing the tarball and run tar -xvf ndiswrapper-xxx
- Run make and make install
- Run ndiswrapper -i drivername.inf
- Run ndiswrapper -l to verify the installation. This should show the driver and device ID
- Run modprobe ndiswrapper
- Configure wlan0 in Network Center.
- That’s it!
After installing Natty Narwhal on my new Packard Bell Easytone HR11 it booted into Gnome instead of the new Unity desktop. After googling around I discovered that the nVidia Optimus technology was to blame. Optimus switches from the low power consuming Intel GPU which is used for basic applications to the more powerful nVidia GPU when gaming or watching movies. Optimus, as delivered from nVidia, is not available for Ubuntu.
Fortunately here is a solution for using Optimus with Ubuntu called Bumblebee. to get Bumblebee up and running first open a terminal and add the Bumblebee repository and then install Bumblebee.
sudo apt-add-repository ppa:mj-casalogic/bumblebee
sudo apt-get update && sudo apt-get install bumblebee
During the installation you will be asked if you want to configure Bumblebee, select “Yes”. You will then be asked to select manual configuration or to view a list of configurations, select “Full List” and from the list select your laptop. If you have a Packard Bell Easynote pick “Packard Bell EasyNote TSX66HR: SteveYoung” and then “Use this Configuration”. In the next screen select “XV(Default)” You should then see a message saying that Bumblebee has been installed.
Now typing “optirun” before an application will cause the nVidia GPU to be used rather than the Intel GPU, with improved performance as can be seen below.
steve@steve:~$ optirun glxgears
* Starting Bumblebee X server bumblebee
_PS0 Enabling nVidia Card Succeeded.
[ OK ]
3178 frames in 5.0 seconds = 635.511 FPS
3326 frames in 5.0 seconds = 665.190 FPS
3122 frames in 5.0 seconds = 624.271 FPS
3250 frames in 5.0 seconds = 649.854 FPS
3174 frames in 5.0 seconds = 634.725 FPS
* Stopping Bumblebee X server bumblebee
_PS0 Disabling nVidia Card Succeeded.
As opposed to the fps without Bumblebee.
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
302 frames in 5.0 seconds = 60.277 FPS
301 frames in 5.0 seconds = 60.160 FPS
301 frames in 5.0 seconds = 60.160 FPS
301 frames in 5.0 seconds = 60.160 FPS
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
after 2757 requests (2757 known processed) with 0 events remaining.
You can also install the bumblebee.ui using
sudo apt-get install bumblebee-ui
This places an indicator in the Unity notification area which changes colour when the nVidia GPU is in use and also allows you to configure which applications to use “optirun” with automatically.
Bumblebee uses the nvidia-current driver and I am not sure that this is the best driver for the GT540M which is in my laptop. I think that the figures of 650fps achieved with optirun glxgears can be improved on and if anyone has any ideas about how to do this please share them with us.