Posts Tagged ‘programming’

Simple Browser Project

Posted: March 10, 2015 in linux, netflix
Tags: ,

I’ve been looking for a good way to access my corporate email on my linux (opensuse) laptop. Evolution is pretty good, but the evolution-ews plugin is REALLY buggy. The connection was dropping every few minutes for me. The user interface also feels too cluttered for what I’m trying to do. So, I decided to try a different approach.

I wrote a simple python based webkit browser to modify the look and feel of owa to make it more like a desktop app.

You can access the source code here:

http://github.com/DavidMulder/simple_browse

Or you can install the opensuse package here:

http://software.opensuse.org/package/simple_browse?search_term=simple_browse

I also plan to use it to play Netflix on my mythtv box. It seems like I should be able to modify the css styling to make the summaries bigger on the page, etc.

Screenshot from 2015-03-10 10:20:02

rgdb Remote debugging

Posted: July 8, 2014 in gdb, linux
Tags: ,

Check out the project I’ve been working on in github.
I frequently have to debug C/C++ code from the command line, but I have separate build machines because I build on multiple architectures and platforms. So, I wrote this python script for remote debugging.
All it does is open up an ssh connection (using python paramiko) and connects to gdb on the build machine. It then parses through the output using regular expressions and opens the source code on your local machine for debugging. As you step through the code, the line of code is underlined and centered in the code window.
I also added a useful (for my work) feature which allows you to get the tcpdump while executing a particular line of code. It then opens the tcpdump on your local machine in wireshark.

rgdb_screenshot

Using the Google API on Linux

Posted: November 18, 2010 in linux
Tags: ,

MonoDevelop 2.4

Mono 2.8.1

So, I had trouble getting the Google API to work in MonoDevelop, so I thought I’d show you how I did it. I got this from google code:

Setting up your environment

  1. Download the latest ZIP file release of the client library from http://code.google.com/p/google-gdata/downloads/list
  2. Extract to a local directory (e.g. “/scratch/gdata.NET”)
  3. Use your distribution’s package management to install Mono. Alternatively, you can download it from http://www.mono-project.com.
  4. In some distributions you have to make sure that the nunit.framework.dll file is properly linked into the mono library. If mono was installed to “/usr/lib/mono”, then ensure that there are symbolic links in “/usr/lib/mono/1.0” and “/usr/lib/mono/2.0” for nunit.framework.dll (which should be installed in “/usr/lib/mono/gac/nunit.framework/<someversionstring>/nunit.framework.dll”).


Compiling and running samples

  1. Assuming you installed the client library to “/scratch/gdata.NET”, change to the “/scratch/gdata.NET/clients/cs” directory.
  2. Edit the Makefile depending on what version of .NET you wish to use. For .NET 1.x, use CSC=mcs and for .NET 2.x, use CSC=gmcs.
  3. Run make to compile the libraries and sample applications.
  4. Execute make install if you want to install the client library DLLs into the Mono library.


Developing your own application
If you executed a make install after compiling the client library, you should be able to include the libraries in your own code by passing -r:Google.GData.Extensions.dll -r:Google.GData.Client.dll to the Mono C# compiler along with references to the DLL files of any specific service extensions you wish to use.

http://code.google.com/apis/gdata/articles/dotnet_client_lib.html

Now the Google API is available in the ‘Packages’ tab when you go to add references to your project.

After setting up my environment, I was still getting a security error (something about the Authentication failing). That’s because Mono is locked down by default. So, I ran this to import all of the SSL certs from Firefox (and therefore Google’s cert because I’ve logged into Google from Firefox):

mozroots –import

You just have to say yes to all the imports (there are a lot of them).