freebsd
Checking access to files on a server
by Ryan French on Aug.02, 2009, under Uncategorized, freebsd
So recently I put some files up on a file server I rent with a couple of mates, mostly ones used in my CV so that prospective employees can check papers etc that I have written. In an attempt to try and figure out who has accessed these files I, with the help of my friend Paul wrote a smal script that uses the access log, grep and whois to figure out the domains that have accessed the file. To be honest its a small script, and if I had more experience with bash I probably could have written it myself. In fact, if Paul had wanted to, I know he could have written it no problems, but it was all experience. In case someone wants to use it, here it is.
#!/bin/bash
FILE=”/tmp/$(basename $0).$RANDOM.$$.txt”;
echo Searching for access to files with $1;
sudo cat /var/log/apache2/access.log | grep -i *PUT YOUR NAME HERE* | grep $1 > $FILE;
if [ -z "$2" ]
then
echo “no exclusions”;
else
echo “excluding files containing $2″;
cat $FILE | grep -v $2 > $FILE;
fi
cat $FILE | cut -d ‘ ‘ -f 1 | sort | uniq -c > $FILE;
for i in $(cat $FILE)
do
echo -ne “$i - “; whois $i -H | egrep ‘OrgName|descr’ | head -n 1 | cut -d ‘:’ -f 2;
done
To use it, just copy the script (replacing the part that says *PUT YOUR NAME HERE* with your username) into a file, set it as an executable using chmod +x, then run it. The first argument is the string you are looking for access to, e.g. pdf will show all pdf’s, and there is a second optional string for if you want to exclude files with names containg a certain string.
Mono Migration – Stage 1
by Ryan French on Jul.14, 2009, under Mono, Uncategorized, freebsd
Well I promised I would be updating on how the effort was going to migrate our VB.Net/ASP/SQL Server 2000 product here at work to Mono, and as the first steps are now underway, I have a few things to talk about.
For starters we are looking at porting our code to C#, rather than VB.Net in Mono, and removing the ASP stuff from it etc. We are also looking at implementing localisation of the site. Originally when looking at this in Visual Studio we would have to look at purchasing a tool to pull out all the translatable strings in the program. Luckily, I found out mono-develop does this for free. Awesomeness.
At this stage the idea is that we are going to go for a proof of concept and move the code over to Mono as it is in it’s VB.Net/ASP form, then we will look at doing the actual port, as time is a little critical for us.
The first step is to setup a virtual machine for running Ubuntu (our OS of choice for the cloud) and install Mono/PostgreSQL etc on it. I choose to use VirtualBox for 2 reasons, 1) I hadnt used it before and it looked very interesting and 2) VMWare was causing my machine to go into an infinite “Cannot load Drivers” loop on the windows host, so it wasnt really an option at all.
Once I had completed this I downloaded and ran MoMA. This tool will scan the assemblies for your program and tell you what problems there are with running the code on Mono. We have a few problems on ours, but most of it is SQL calls that aren’t implemented, so I’ll find a way around this.
At the end of the MoMA tool there are links to a few sites that have definately helped me in moving the code over for the first test. Now there is just one last step before attempting to build the code in Mono and see how badly it breaks.
Clean the code. It is pointless trying to port everything over unless you need everything. I have currently removed about 50k of code from the site that is either no longer used and, thanks to my predescessor, has never been removed. I also found thousands of table entries and a good 30+ tables and another few hundred stored procedures that are either not used or obsolete. I’m still in the process of cleaning up before I try the build, but once that is done I shall let you know how things go.
My new big project (sadly it’s for work)
by Ryan French on Jul.09, 2009, under Mono, Uncategorized, freebsd, mpls
Here at my new job we develop in ASP/VB.Net, running off of an SQL Server 2000 (yes, it horrified me too when I found out). The company has been around since ~2000 and we have decided now that it is a time for a change. We are hoping in the next few months to be moving away from a single server based model that we have now, onto something a little more modern, a cloud.
At the same time as we do this, we are wanting to make the move to using OSS. This is going to be quite a move, with our development enivronment being firmly embedded in MS technologies at the moment. So we have a few steps that we are going to be going through. I am hoping over the next few months to share my experiences in moving our product from the MS environment to running on Ubuntu server using Mono (the C# variety) and Postgresql. It will be interesting, with the need for a demonstration of the new product by mid-August.
Also, on a side note, I have moved out of where I was staying temporarily into a new place, and once I have sorted out my internet issues I shall be looking at finally getting around to working on MPLS again.
Where I’ve been…
by Ryan French on Jun.10, 2009, under Uncategorized, freebsd
So it has been a while since my last post, and while thats nothing really unusual, I actually have things to post about, so I thought I better get round to doing them.
First off, my new job. As I said in my last post I had a pretty quick turn about from the first interview to starting work (phone call on the Tuesday concerning an interview, started work the following Monday). Things are going not too badly here, now that I’m settling into the role. The job is working for a company called TechCertain, who develop, maintain and operate a system which handles the paper work for insurance companies online (issue proposals and policies, automatic quoting/underwriting e.t.c.). My role is the companies Business Analyst. My main job is to work with the clients to determine what it is they need, and then work out how we are going to acheive this. I also do a lot of the companies research and development (more on that later), write the front end for the clients, and manage the development team (read: the other guy who works mostly on the backend haha). The language is VB .net and Microsofts SQL, which is actually pretty funny because the day I started this job I had never worked on or studied either of these, so I pretty much had to learn all of that on top of everything else that comes with a new job.
I mentioned before that the company had some R&D going on. Seems strange for a simple web application company like us to have R&D but it’s true. Currently we are looking into porting our code over to mono, and we are looking into running our service on a cloud rather than the server it is currently on, so at least that is keeping me busy.
In the next few weeks I am also moving into a house up here in Auckland, which will be great because I have been living in my friends parents garage since moving up here (it’s not nearly as bad as it sounds) but it’ll still be nice to have a real room e.t.c.
One last thing. I just wanted to say good work to the team that made Ubuntu Rescue Remix. A friend of mine has an 8 year old Acer Travelmate 240 sitting at home, and recently it started telling him that there was imminent drive failure, and refused to log into windows anymore. Using the rescue remix I was able to create a live cd, boot into the command line, plug in my flash drive, and rescue thousands of files off his laptop for him. Now all he has to do is go through and sort them all manuallly.