Six Steps to a Simple Samba Setup on openSUSE

openSUSE Samba

openSUSE is a very polished, commercial-feeling distribution of Linux. The architects of the distribution have a much larger scope in mind of its usage than what I generally do. One such area is Samba, SMB or often referred to as Windows Network File and Printer Sharing Protocol. I only use this for one device on my network, my All-in-One, Printer-Scanner-Copier, The HP OfficeJet 8600. It is a fine machine that does what I need it to do very well, but for scanning to a network folder, I must use Samba.

This process used to be much simpler, many years ago, before the discovery of security issues within Samba. She short story of why there is the separation was some sort of vulnerability in the underlying system. I am sure there is a fairly simple or straight forward way to make it all work but my intent was to successfully set up Samba with as little effort as possible.

I had a resource out on the web someplace that told me how to do this simply but I couldn’t find the bookmark nor was there a link in my digital notebook so I took a few sites, what I know about openSUSE and created an easy step-by-step guide for getting Samba file sharing up and running. I have broken down the process into six easy to follow steps for a minimal setup. I use this to quickly and easily set up and use Samba with openSUSE Linux.

Six Steps to a Simple Samba Setup on openSUSE

Package Installation

Minimum number of packages required to install the Samba Server

Service Activation

System Services that need to be activated and installed

Firewall Configuration

Allow access to the server through the firewall

YaST Samba Setup

Basic configuration using openSUSE’s system configuration tool.

Adding Samba Users

Through the terminal, setting the username and password

Testing it all out

Making sure it actually works.

Final Thoughts

Samba is pretty easy to set up for a minimal usage. For something more involved and complex, there are certainly better ways of accomplishing it. Finally, if HP decided to put SFTP on their future All-in-One devices, this entire write up, to me, would be useless but until then, this is what is required.

Further Reading

Six Steps to a Simple Samba Setup on openSUSE

Samba on openSUSE Wiki

Wii Console Repair and Homebrew Hack


The Nintendo Wii, in my belief, was the best video game console ever created. It was a very popular family-unifying gaming counsel. Instead of the typical behavior of the gaming system monopolizing a single person’s time, this brought family together much like you would have on family game night. A vehicle of interaction. The Wii moved game night from from the dining room table into the living room.

I have had a Wii since… I think 2009 or 2010 and at some point in time the Optical Drive stopped reading discs. The machine was relegated to streaming Netflix and Amazon Prime videos only, but that changed recently as I wanted to crack open those dusty Wii game cases once again.

After doing some research I found that there are two types of drives that can be used in the Wii; One that is Wii discs only and the other that does Wii and GameCube discs. The latter being more expensive but regardless, I purchased a drive that was GameCube compatible of approximately $20 on eBay.

I have yet to play a GameCube game on the Wii but I plan to give one a spin, eventually.

If you would like to repair your Wii, see this video, it worked very well for me. Lots of little steps but nothing complex. To put it back together, just reverse the steps. My advice on taking it apart is to take a piece of tape, place it sticky side up and use that as a kind of timeline for screws you remove so when you go in reverse you don’t grab the wrong screw.

The only real issues I had with the disassembly / assembly process were screws in precarious places.


And ensuring that the rubber grommet for the DVD drive was properly assembled onto the chassis. Rubber has a way of doing what it wants which isn’t always what you want.

Wii Repair-03.jpg

Once the machine was back together, it was working just as expected but since Nintendo has abandoned this piece of hardware, it was time to make some improvements to it.

Expanding the Capabilities

Since I do like the Wii very much, it makes me a bit sad about it’s state of abandonment but that is the way of things. I set out to expand the capabilities beyond what Nintendo envisioned so that I can do more with this machine. Very clever people have made it easy to add homebrew software to the Wii through what is call the Homebrew Channel.

The first step was to do a non-hardware modification. Using LetterBomb to enable the Homebrew requires only an SD Card and some way of transferring data to it. In my case, a Linux Laptop. Once you extract the contents and put it on the SD Card as outlined here, put it back in the Wii. There you will have a new message in the Message system on the Wii. Upon opening the LetterBomb in Messages, the system will drop down to a console and run a script that will add the Homebrew capabilities. It’s pretty simple and it sets the system up without any further user intervention.

Wii Media Center

There is no point in having the Homebrew Channel without homebrew software. My first task was to add the capability to Watch DVDs. A feature that Nintendo, irritatingly, decided not to include. To install the Wii Media Center follow this link:

I chose the New install of the WiiMC and simultaneously installed the WiiMC Channel 2.0. I downloaded the files to my Wii project folder on my computer and extracted the Zips.

Since I am using KDE Plasma, I extracted the zips as such using the Dolphin File Manager:

  • Right-click > Extract > Extract Archive Here, Autodetect Subfolder
  • That created a folder called apps and two subfolders: wiimc and wiimc-channel-installer
  • Copy the extracted folders into the apps folder on the SD Card used for the Wii.

On the Wii, Open the Homebrew Channel run the applications you just copied over. Just that simple.

WiiMC Start Pic

Now, I am able to play DVDs, seemingly without any issues. I have played a few DVDs, yes, I still buy DVDs. So far, I have only noticed one DVD with an issue. When I popped in “Star Wars: The Last Jedi”, I did get some herky-jerky playback, I am assuming due to the encryption used on the disc.

I can now play media files directly from a USB Drive or SD Card but it has proven itself to be a bit touch-and-go. Some files played very well and others not so well. I will have to investigate further about which files played better than others. At this point, I don’t know if it is the file format or the resolution of the video.

Next Steps

I intend on expanding my Wii’s capabilities into more of a retro gaming console. I have purchased a few games from the Wii Store back in the day but as of today, the selection has become very limited they have already stopped accepting payment for more credits on the Wii Shop Channel. The only solution I see is fit, going forward, is using the Homebrew Application method of adding emulators and games. I have been told that the Wii makes a great retro gaming station and I plan to follow up on that portion of my exploration of the Wii Homebrew Applications.

Final Thoughts

Looking at the dates of many of the Homebrew software titles, it looks like much of it is not being maintained or at least hasn’t been updated in several years. My guess is that the Wii is falling out of popularity, even for the homebrew scene. It is unfortunate because I believe to still be a very capable entertainment platform. I do hope that Netflix continues to support the Wii as a platform for streaming as I know Amazon Prime is planning to discontinue their service sometime in 2018. Very soon all that will be left to use on the Wii will be the original optical media titles and the large array of Homebrew software. As it goes with technology, this too has been superseded by the new and shiny so this fine piece of hardware is slowly being abandoned.

External References

Disassemble Wii YouTube Video

LetterBomb Homebrew Exploit

WiiMC Documentation

Snappy Packages on openSUSE Tumbleweed

openSUSE Snappy

I don’t see much on the webs about people using Snaps on openSUSE nor have I seen any experiences by openSUSE Users with Snaps so I thought I would see how it goes for me.

First off, the word “snap” appears in too many projects. A quick software search on gets you:

  • snapd
  • rsnap
  • snappy
  • snapper
  • esnappy
  • tarsnap

For this project, snapd is the right answer.

I prefer to use the openSUSE Packaging system for all my software but the idea of having a universal packaging system is seemingly a great idea and I can see this as a very practical method for 3rd party software distribution. Right now, we have three universal packaging formats: AppImage, SnapCraft and Flatpak. I have now used them all but for now I am going to focus on using Snaps.


Using the “Experimental” package System:Snappy One-Click install

At the time of writing, I installed version 2.23.5. The install was without incident, as to be expected with openSUSE.

First run

I went to the SnapCraft home page and just wanted to check out a “featured application” and chose to try out Minecraft. I figure, if something is going to fail, it will be a game that requires 3D acceleration, and sound.

For my first experience, I am already pleased to see that right at the top of the page there is the command to copy and paste into a terminal to install the software.

sudo snap install minecraft

It is simply beautiful that this can all be done in in the terminal too. No silly GUI front end required. Simple, straight forward, copy from the page and paste into terminal.

Unfortunately, I had to do some troubleshooting. I received an error when trying to install Minecraft.

error: cannot communicate with server: Post http://localhost/v2/snaps/minecraft: dial unix /run/snapd.socket: connect: no such file or directory

A quick search told me to check the status of the snapd daemon:

systemctl status snapd

The output from that:

● snapd.service – Snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.service; disabled; vendor preset: disabled)
Active: inactive (dead)

That told me I needed to start the service

sudo systemctl start snapd

Checked the status, once again:

snapd.service – Snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2018-05-11 11:21:40 EDT; 2s ago
Main PID: 7611 (snapd)
Tasks: 10 (limit: 4915)
CGroup: /system.slice/snapd.service
└─7611 /usr/lib/snapd/snapd

I wanted to be sure that the service starts at system boot, as well so I executed this:

sudo systemctl enable snapd

With the nice to see, somewhat interesting output:

Created symlink /etc/systemd/system/ → /usr/lib/systemd/system/snapd.service.

This is where I say the unpopular statement: SystemD is Awesome to use.

Now I could try to install Minecraft once again and received this upon completion:

minecraft latest from ‘snapcrafters’ installed


The first run launcher popped up and the next round of installation (presumably) commenced.


I was interested in seeing the command the snapy package added in my applications menu and here it is.

env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/minecraft_minecraft.desktop /snap/bin/minecraft

First run, and it worked as expected but since everything defaults to the Intel GPU on my system, I wanted to test offloading Minecraft to the AMD GPU. It works well with Steam, Descent and any emulators, so now I wanted to see if I prepend the same command “DRI_PRIME=1” if it would work as well.

It did and did so glitch free.



Although Snaps, or Snappy or Snapcraft is considered an experimental package in openSUSE, it seems to work perfectly fine within Tumblweed. There was just a bit of extra leg work required to start and enable the daemon but outside of that, it seems to work smashingly.

This is my first experience and I will continue to play with this as well as Flatpak and AppImage. My preferred method of software installation is still using the openSUSE software repositories but it is great to see that the option of Snaps are [nearly] effortless to get going.

See Also

openSUSE Project

SnapCraft Daemon Installation for openSUSE

Minecraft Snap Package


Adobe Acrobat Pro Alternative with XFA Extension on openSUSE | Master PDF Editor

Edit-pdfFor better or worse the PDF format seems to have become the de facto standard in digital documents. Generally, when I just want to view or quickly bang-out a form on a PDF, the KDE Plasma default Okular works just fine. The problem I have run into is with US government forms that have a XFA extension. Outside of that Okular is very capable. Features:

  • It has several supported formats: PDF, PS, Tiff, CHM, DjVu, Images, DVI, XPS, ODT, Fiction Book, Comic Book, Plucker, EPub, Fax
  • Thumbnails sidebar
  • Annotations support

In my search for not running a Windows VM to fill out an XFA encumbered form, I have recently stumbled upon a solution that is working really well for me.

Master PDF Editor

This is a real good looking application by Code Industry. It has a very easy to use, familiar feeling, User Interface. The application seems to be efficiently written as it literally pops right open as nice and quick as you would get from Okular. If you load it from menu or krunner, you are greeted with a friendly start page. I greatly appreciate that this is a Qt 5 application as it looks good with the rest of my dark themed desktop.



It is mighty wonderful that the company lets you use it for free. It is a feature reduced version but allows you the opportunity to use it at no cost. For openSUSE Leap and Tumbleweed, I selected the CentOS/Redhat 7.x + version is it built on Qt5. Download the RPM and install it as you would any other sand alone package.

Personally, I like the zypper terminal method:

zypper in ~/Downloads/master-pdf-editor-4.3.89_qt5.x86_64.rpm

Alternatively, right-click Open with Discover or Open with Install/Remove Software works well too.

What is wrong with the default PDF options?

The main reason for my search for a different PDF reader was for the XFA extension that seems to be popular in government use on Forms. Even the built-in reader on Firefox and Chrome give me this little gem of an error.


For a specific part-time job of mine, I need to be able to interact with PDFs properly and I would really prefer not to start up a Windows VM just to type out a few things in Adobe Reader. I would just install Adobe Reader but it is too old and unmaintained in Linux so it is hit but mostly miss if it will actually work not to mention the weird system tray icon it leaves me that requires me to kill the process to get rid of it.

If you like Master PDF Editor, it is not an expensive application to fork over some cash towards. My determination for whether or not I was going to commit to purchasing it was how stable it was and did it have all the features I wanted. While I can get by on using Okular for most things, there is something to be said for a more “feature complete” application like Master PDF Editor. Also, I have no problem paying for commercial Linux software. If it does it’s job, I am more than happy to pay for it.

Another handy feature in this application is the ability to digitally sign documents from a .pfx/.p12 certificate. Creating one may be a bit of a challenge but it is a nice feature to have.

Although it is not a feature I use regularly, having Optical Character Recognition (OCR) is great to have when you do need it. I tested it out and it is very good. Not 100% but close enough to be incredibly useful. English was installed by default on mine and I have 70 other language options available if I so choose. Another neat feature is the ability to go manually go through the OCR process to ensure correctness.


Since I manage all of my documents, not in a physical filing cabinet but by a digital one, I need to be able to organize and combine different PDF Documents. My method of storage isn’t anything fancy, just a folder of records that is divided in a way that makes most sense to me. I often have to combine or remove pages out of a collection pages and this software makes it easy to complete.

A lesser needed but nice to have feature is the ability to create your own fallible, PDF documents. If you have used other form creators, you won’t find this foreign at all. It has the features I have used before but form creation is not my one of my strong suits. That is an art, in of itself that I do not posses the skill or patience to craft beautifully.

Features I use regularly

Adding and removing PDF pages from a file and save them for archival purposes. Something I cannot do from Okular easily. Since I try to minimize the amount of physical documents that I keep down to only the “must be original” documents. I scan and store the rest. You may ask, how often do I review these documents? ANSWER: More of then than I would like to admit. Also, do you know how liberating it is to not have a full 4 drawer filing cabinet?

Secondly, I use this program with any PDF documents that have the XFA extension. This is also a “feature” that keeps me using PDFs more than I would like. There is a continent “Click to Highlight Fields” in the upper right-hand corner of the application window and away you can go filling these things out.

Final Thoughts

I very happily forked over the cash to be able to do the work I want to do in Linux. I also want to be able to support the developers and make Linux a viable platform to target. I hate hearing from commercial vendors in my field of work that they just don’t have the demand to develop on Linux. Code Industry is taking a risk by developing for Linux and I certainly don’t want them to give up and say there is no market for Linux Desktop.


If you would like to give Master PDF Editor a try, there is a free no obligation version that you can try out. Download the free version of Master PDF Editor and see what you think of it. Even though I don’t need the paid features on this software, I want to support the developer so I kicked them the cash for the registered version. I hope they continue to develop and improve this product. It’s already great and I am hoping it becomes even greater.

External Links

Okular PDF Reader

Code Industry Home Page

Get Master PDF Editor from Code Industry



HP TouchPad in 2018


I purchased two HP TouchPads a few years ago when they were fairly inexpensive. I wanted a larger tablet that wasn’t built cheaply. They worked great for a while but started to act up. I used them less and less until they just stopped working all together. I put them on a shelf and forgot about the for quite a while.

A buddy of mine who is still seemingly a huge fan of the HP TouchPad diagnosed that one had a main board and battery failure while the other just a battery failure. I put them back on the shelf and that is where they sat, once again. He followed up with me wondering if I bought a battery yet (keeping me accountable) to which I did not. He told me he had an extra battery and dropped it off along with the needed tools to disassemble and make the repair.

HP_TouchPad-01The guide I looked at made it seem like it would be easy to take the tablet apart, just work your way along the sides, as described and carefully separate the two halves. What seemed to be missing from the article was that you have to shim the screen from the backing to keep it from clipping itself back shut again.

Once the tablet was apart, I disconnected the halves and started the process of removing more pieces until I could get the battery out. I only ended up taking out 3 of the internal components.

Upon removing the HP_TouchPad-02.jpgUSB board, I noticed that one of the wires for the little vibrator motor had somehow broken free from the board. A fine explanation for why this unit didn’t have haptic feedback. Thankfully, my soldiering skills were adequate enough to correct the issue.


There were only 4 screws retained the battery and it should be noted that once the screws have been removed, the battery will not come out easily as it is also adhered to the device. Very careful and slow removal of the battery was warranted as I learned my lesson about removing a lithium polymer battery years ago on another project. I didn’t want to rupture the sells and have a little fire or at least lots of heat and smoke.

Once I freed the battery from the case, I noticed that I could take a shortcut and remove the battery without disassembling all of the components as outlined in the guide. I freed the battery from it’s compartment, set it aside, took the new battery and using a flat tipped screwdriver, was able to insert the connector of the new battery into the board and fasten it to the tablet body.  I effectively skipped the last 15 steps of the guide I used and reassembled it.

Success… but it didn’t turn on.

I figured that the thing needed to be charged so I let it charge overnight. It still didn’t turn on and I felt obligated to let my buddy know that this TouchPad is dead and asked if he wanted the battery back. Then, he asked if I did the hard reboot, hold power and volume down for 30 seconds.

HP_TouchPad-06-Boot Loader.jpg

I did just that and immediately it went to the ClockworkMod boot loader menu. I selected the CyanogenMod image already installed on this TouchPad and I was very pleased to see that it was fully functional.

Since I wasn’t going to leave this with a 2 year old version of Android on it, I began my search for an updated ROM. There are several options out there and some of the newer versions of Android seem to have Bluetooth or camera issues. I didn’t want to have any hardware issues so I ended up going with this version here. Everything works but it is an older version of Android with security patch updates.


Another requirement I made is that I wanted to ensure that there were no Google Services on this tablet as I didn’t want to weigh it down with all the data scraping and mining services. All I want from this tablet is to do causal web browsing, reading ebook and PDF documents so there is no need to install the Gapps package. I also wanted to see how useful a simple de-Googled tablet would be.

F-Droid-siteSince I did want to have access to applications on this device, I installed F-Droid. F-Droid is similar to the Play Store, an available catalog of FOSS (Free and Open Source Software) Android applications. Most of the applications I want to run are available there and anything else it is possible for me to sideload or install using Yalp.

The applications I installed:

  • KDE Connect
  • Telegram
  • Syncthing
  • Fennec F-Droid, a Mozilla based web browser
  • Barcode Scanner
  • Book Reader
  • Yalp, allows you to download apps directly from Google Play Store as apk files.

Installed Using Yalp:

  • Discord
  • ASTRO File Manager


Modifications to improve my usage experience

I turned off the KDE Connect Telegram Notification. Not because I don’t like Telegram but because I don’t want multiple notifications on my Desktop Linux machine for the same message.

To do so, withing the KDE Connect Application on the paired device Menu > Plugin settings > Notification sync configure button, scrolled down to Telegram and uncheck it.


Next, I made the KDE Connect Keyboard an input option by going into System Settings > Language & Input and checked KDE Connect Remote Keyboard


I set up a folder on the Tablet called Sync and using Syncthing have it tied to two of my openSUSE desktop Linux machines. It is an easy and efficient drag and drop method of putting files on the tablet instead of using KDE Connect. I figure, more options are better than fewer options for sharing data.


Using Dolphin in KDE Plasma to drag and drop files right on the HP TouchPad file system is such a fantastic feature. This, combined with having a folder that I can use to sync between all my systems and a shared clipboard gives me the truly practical form of desktop/mobile convergence.

HP_TouchPad-11-file manager

What I like

HP_TouchPad-09The size of this tablet is perfect for how I intend on using it. I can check things, look up things, and use it for accessing references in either PDF, ebook or my favorite resource, the openSUSE Wiki. To copy and paste from the tablet is made super easy, thanks to KDE Conenct. Copy on the tablet, paste on the Desktop. This tablet has such a nice weight and feel about and the protective folio-style case is great. I have all the functions and features I need to do what I set out with this 2011 built tablet. Sure, it is old and well past a tablet end of life but it is fast, very snappy and responsive.

What I Don’t Like

I have an outdated version of Android but with the security patches back-ported though, I do like the dark look of the older Android UI, so lets call this point a wash. The downside is, it doesn’t allow for certain newer KDE Connect features as noted here by one of the developers.

I also may have done something to disconnect the internal speakers as I don’t hear sound unless I plug into the headphone jack or Bluetooth speaker. I am not really using this for multimedia and the workaround is satisfactory.

I am not a fan of the rear facing only camera on the tablet. It also distorts the image during the “live view” but the picture itself has the proper aspect ratio. Unless if I want too take some awkward selfies, I don’t see this as a terrible issue.

Final Thoughts

I am very glad to have a working HP TouchPad once again. Is it indeed limited but I am not using it like a brand new tablet, I am using it closer to how a tablet was used 7 years ago. I am also not using this tablet like I would a proper computer as that would require a keyboard and mouse and once I have added those items, I may as well use a laptop. This fantastic little device does just what I want it to do, superbly.

Using KDE Connect and Syncthing, I can have the proper mobile/desktop convergence with my openSUSE Linux desktops in a highly practical manner anywhere I go, without the need for a third party service.

I am not sure what I will do with the other tablet now. This one is just so great, I might have to get the other one working just to keep in my cubicle. Would I recommend this tablet to someone else? For most people, probably not, unless they like to noodle around with technology.  Was it worth taking the time to fix it? Also, probably not but the satisfaction for me out of making this older yet perfectly usable hardware functional once again makes it more than worth the time and effort.

Further Reading, useful links and such

I Fix It Guide for the HP TouchPad

Tenderloin Android ROM I have installed on my HP Touchpad

openSUSE Wiki

KDE Connect Developer Nico’s Blog Post

KDE Connect Community Site

KAlarm and Kronometer | Time Applications for KDE Plasma

Time Applications

I am not a big fan of smart Phones and tablets but I do like some of the convenient, appliance-like features of a few applications. I do find that I go for my phone for the stopwatch and timer features but sometimes, I just don’t have my phone on me and need that darn stopwatch or countdown timer. I had forgotten that I used to use such things back in my Mandrake / Mandriva Linux days, before, I had a smart phone.

The two applications, Kronometer and KAlarm are in the main repository of openSUSE Leap (v15) and Tumbleweed. I also appreciate that these applications have stuck with the traditional KDE naming convention and begin with a “K”. It makes my Komputer happy.


Search in the YaST Tool or on for these bits of software to click-install or you can use my favorite method, the terminal!

sudo zypper install kalarm kronometer

They are small applications so installation won’t take long.


This is a stopwatch application with lap feature similar as you may have used on other devices but adds the feature to enter notes next to each line, sort by lap times, or even by the Notes column.

Kronometer-01You can save this data and “name” the current session for use or review later. To do so select Save As… and you are given a prompt to name the Session.


This will store your data as a JSON file in your home directory:


File > Open… will give you a list of all your previously saved sessions.


Double click on the number of one of the lines and you can bring up a previous session and continue using it. I don’t know how useful that would be but it’s nice to know it’s available.

What is pretty dang cool is that it can export into CSV format. CSV in an open format readable by LibreOffice or any other spreadsheet application where you can make pretty graphs or pie charts and so forth. In order to export the data, to CSV you have to Select File > Export Laps As… and put it someplace you will remember.

To test it out, I opened the File in LibreOffice and the title you used for Save As… doesn’t exist in the exported data. Something else to note, if you put a comma in the “Notes” field, the CSV import will put whatever was placed after that comma into another cell… hence the name, Comma Separated Values.


Over all, this is a great, basic application and very useful when needing to time something, many somethings or to collect data on a study you are conducting.


KAlarm is a personal alarm message, command and email scheduler built for the KDE Plasma environment. This can be useful in many ways and can also be integrated into the calendaring application, Korganizer. It has more features than you will probably need so I will just outline what I currently use.



For just a simple alarm that displays a pop up on the screen with a message and optional sound, select New > New Display Alarm and just follow down the dialog box to set your alarm with whatever constraints you wish. There are a couple neat options. One being you can add an entry in KOrganizer if you want, set Recurrences and so forth.

I like that you can make this as simple or as “exciting” as you would like to make the alarm.

There is also an option to create an alarm that will execute a command or script and log to a file. You can even have the alarm send an email at a specific time as well. The options are literally limited by your imagination.

One particular use for this application is in the kitchen. Just off the cuff, I see where I can backward plan to start different parts of dinner so that everything is done at the desired time.

Final Thoughts

These are smaller, simple applications that won’t ever see any big fanfare but, in my opinion, are extremely important and can be used to help you manage your time, track your time and so forth. I know that when I am eyeballs-deep into a task, I can lose track of time and I need to have an audible reminder to take care of some other task that is time sensitive. I am so glad that there are developers out there that take care of the small and truly needed, useful and less “exciting” applications.

External Links

KDE Plasma

Kronometer for openSUSE

KAlarm for openSUSE