Posts

RTL8723AU Realtek driver fails after linux update fix.

After a recent kernel update my wireless stopped working in Fedora 23. dmesg started showing logs like this: [ 5.508212] usb 1-1.4: Vendor: Realtek [ 5.508218] usb 1-1.4: Product: 802.11n WLAN Adapter [ 5.508222] usb 1-1.4: RTL8723AU rev B (TSMC) 1T1R, TX queues 2, WiFi=1, BT=1, GPS=0, HI PA=0 [ 5.508226] usb 1-1.4: RTL8723AU MAC: 20:16:d8:03:97:c1 [ 5.508229] usb 1-1.4: rtl8xxxu: Loading firmware rtlwifi/rtl8723aufw_B_NoBT.bin [ 5.517062] usb 1-1.4: Firmware revision 31.0 (signature 0x2302) [ 5.539427] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 5.539431] Bluetooth: BNEP filters: protocol multicast [ 5.539435] Bluetooth: BNEP socket layer initialized [ 5.859658] usb 1-1.4: Firmware failed to start [ 5.867382] usbcore: registered new interface driver rtl8xxxu [ 5.891270] r8723au: module is from the staging directory, the quality is unknown, you have been warned. [ 5.892132] usbcore: registered new interface driver rtl8723au [ 5.896855] nf

Dojo ComboBox with JsonRest store and loading indicator.

I was using a JsonRest store to populate a dijit ComboBox and FilteringSelect with auto complete and needed to display a spinner or loading message while the JsonRest store was querying. I googled around for a built in solution and found a couple people asking but no responses. I am not sure if this is the best approach but a quick and easy enough solution for me was to intercept the functions that are called when a search begins and ends. These functions exist within dijit/form/_SearchMixin.js that the ComboBox and FilteringSelect inherit from: _SearchMixin. _startSearch  -> Called when a search starts _SearchMixin.onComplete -> Called when a search ends. Therefore I did something similar to the following to display a loading indicator during store queries. The only down side to this approach is a missing edge case where if the JsonRest store has an error, the loading indicator will continue to display. <!DOCTYPE html> <html lang="en"> <he

Lenovo Yoga 13 and Screen Brightness On Fedora 21

Just upgraded to Fedora 21 and the screen brightness controls do not work in Gnome. Before Fedora 21 I had modified the following variable GRUB_CMDLINE_LINUX in the default grub file: /etc/default/grub in order to append `acpi_backlight=vendor` #emacs /etc/default/grub GRUB_CMDLINE_LINUX="...existing vars here... acpi_backlight=vendor" After the upgrade I had to change this from acpi_backlight=vendor to acpi_backlight=intel. Once the file is updated run: #grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg Once done, reboot and the screen brightness controls should work however the screen brightness range goes from 0 to 4882 (/sys/class/backlight/intel_backlight/max_brightness) instead of around 100 to 4882 so if you dim the brightness all the way down, your screen will be completely black.

Understanding DB2 OLAP By Example

The OLAP features in DB2 are very cool however I don't see a lot of people using them. In addition, sometimes reading the docs on these features are overwhelming so hopefully these examples will make it easy to understand. We'll look at the following OLAP features in particular. There are more available if you navigate to the IBM website for your DB2 version. Rollup Cube Grouping Set Rank Dense Rank Row Number  First we need to create a sample table and data: CREATE TABLE sales( item VARCHAR(20), state CHAR(2), store VARCHAR(20), amount DECIMAL); Then lets insert some sample data: INSERT INTO sales VALUES('Watch', 'IL', 'Buymore', 15); INSERT INTO sales VALUES('Watch', 'NY', 'Buymore', 15); INSERT INTO sales VALUES('Watch', 'NY', 'Buymore', 15); INSERT INTO sales VALUES('Watch', 'NY', 'Buymore', 15); INSERT INTO sales VALUES('Watch', '

Disabling the Lenovo Yoga Touchpad and Keyboard In Fedora

I can't find an easy way to disable the mouse and keyboard on screen flip of the Yoga in Fedora however an easy enough approach is to disable them by hand using xinput. Issue an: xinput --list [richie@localhost ~]$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech Unifying Device. Wireless PID:1028 id=9 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen id=10 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)] ⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=15 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus

MythTV transcoding user job

For some reason I was having trouble with existing online MythTV transcoding jobs. Specifically this and MythBrake were nice but after many attempts I couldn't get HandbrakeCLI to output a decent quality video and opted to write my own using ffmpeg . Please be aware this script will automatically cut out commercials even if mythcommflag is inaccurate. To get started copy the script into a file on your mythbackend box. In the example below it is called transcode.sh. Then `chmod +x` and review the contents of the `./transcode.sh -h` help command like so: [richie@localhost mythtv]$ chmod +x transcode.sh [richie@localhost mythtv]$ ./transcode.sh -h Transcodes a video to .mkv auto cutting commercials. User job example: /home/richie/mythtv/transcode.sh -c %CHANID% -s %STARTTIMEUTC% -v show version -h show usage -l limit CPU usage -s [arg] starttime from mythtv. In user job %STARTTIMEUTC% -c [arg] chanid from mythtv. In user job %CHANID% -u [arg]

.Net Listing Classes or Methods With A Particular Attribute.

Whenever I build a website I always like to build an admin section and expose information such as which actions are cached, which controllers require authorization and which fields are required etc. Luckily in .Net MVC most of these things are implemented as attributes. Here is an example of scanning an assembly and listing all the classes and methods with a particular attribute on them. I chose two random attributes for this example: [Obsolete] public class Program { public static void Main(string[] args) { var program = new Program(); var types = program.GetAttributesOnClasses (); foreach (var t in types) { Console.WriteLine("Class: {0} - Attribute: {1}", t.Type.Name, t.Attributes); } var methods = program.GetAttributesOnMethods (); foreach (var method in methods) { Console.WriteLine("Method Name: {0} - Attribute: {1}", method.MethodInfo.Name, method.Attributes);