Friday, November 30, 2007

My Wishlist

(07:49:30 PM) geoffscheid: I have inappropriate thoughts about Vin Diesel.

My wishlist this year is small, just books.

Today was nice. It was payday. Started working on the autorun GUI and such. I have decided to stick with the tabs for separating the various tools. I was actually going to be getting Visual Studio 2008 Standard (me and my dad would split it), but apparently you get it for free with your first CS class...according to Geppy. It is a good thing I am taking 1301 next semester ;-).



I need to shave, I have like a full fledged beard going on right now...

Wednesday, November 28, 2007

I figured it out

H'okay, I figured out the .NET problem. There is a program called reg.exe out there that check to see if x registry key exists. The exit codes are as follows:

Success = 0
Failure = 1

So, given that, I created and integer named netcheck and set it equal to a system call, like so

int netcheck = system("wintools\\reg.exe query \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727\\1033\" /v Install");

It is pretty nifty. If netcheck == 0 then .NET Framework 2.0 is installed. If netcheck == 1 then .NET Framework 2.0 is not installed and the program then continues to ask you what you want to do. I should probably add support for .NET 3.0 and 3.5, though I am sure only Windows developers have that installed (I don't see a reason otherwise). Also, you must be running XP or Vista to install .NET Framework 3.0 or 3.5. If you are wondering what that last 1033 in the registry key is, that is the language (EN). In the real program, that isn't included for internationalisation support. I just thought you would get the same kick out of it that I did. It has been a while since I really did anything in C, but here is the source code to netcheck.exe, compiled with Dev-C++ (not CodeWarrior) with the 1033 included.

I enjoy awking

Automounting is one of the things I am working on for the CD. I do it with awk.


sudo fdisk -l | grep NTFS | awk '{print $1}'


That lists all the the drives (fdisk -l), filters the results to show only the lines that have NTFS in them, then prints out the first section (the device and partition) of those lines. This gives me the information I need to mount the drives with ntfs-3g. The same goes for FAT partition (replace grep NTFS with grep W95).

So, with this, you can do:

for i in $(sudo fdisk -l | grep NTFS | awk '{print $1}')

and go ahead and mount the partitions.

I am also using something similar to this to write GUI version for ntfsundelete.

In other news, I spent ~3 hours today rooting through header files, forums, and mailing list archives trying to figure out how to write a (simple) C/C++ program that just checks to see if the .NET Framework is installed in the registry. I guess I could give and just use a batch file (this is for the autorun program). All the resources I found on reading the registry required the .NET Framework, so that just puts me back where I was before.

I fixed the Edit your partitions option on the LiveCD and added new tools, so v1.1 will be uploaded tomorrow night once I get rid of a couple rough edges. More details tomorrow.

Tuesday, November 27, 2007

WINE and .NET?

Apparently, WINE ships with some sort of .NET (Mono?)...

bperry@bperry-laptop:~$ WINEDEBUG="-all" wine clrver.exe
Versions installed on the machine:
v1.0.3705
v1.1.4322
v1.1.4322
bperry@bperry-laptop:~$

With enough null bytes...

With enough null bytes, you can trick _any_ antivirus. Just FYI. But viruses are what I am going to talk about this post. Scanning for viruses on Windows is (almost) completely pointless. Windows locks many system files that are commonly infected with viruses, so antivirus programs like Norton and AVG can't scan the file and remove the virus (then the virus spreads during the very beginning of boot when the system files are still vulnerable). One of these files is pagefile.sys. Even taking the hard drive out and putting it in another computer (also running Windows) won't work. More systems files are vulnerable, but you still cannot scan ~30% of them. That, coupled with passworded accounts (if your account is passworded, then the hard drive is moved from one computer to another, if you try to view the files, you will get a permission denied error), it is virtually impossible to remove all the viruses. We have an Ubuntu server set up in the shop that we use to scan hard drives (as well as the CD I made for the shop, but that is _very_ slow) and use KlamAV to do antivirus scanning. Ubuntu is absolutely amazing for any diagnostics and repair (all it is missing is a proper NTFS chkdsk utility, but you can force the hard drive to chkdsk itself by resetting the NTFS journal with ntfsfix). Data recovery (testdisk, photorec, ntfsundelete), virus removal (clamav, f-prot, avast!), windows password recovery and removal (john, chntpw, bkhive, samdump2), even data destruction (wipe). With ntfs-3g, the 3rd generation NTFS drivers for Linux, you can back up any and all data on a NTFS partition, even the data protected by Windows. Other really neat programs I have used are fcrackzip and pdfcrack for cracking passworded zips and PDFs. I am going to start writing the documentation for the LiveCD this week(end) and will do one page for each tool that I use personally, which is quite a few, so that users of the CD have a reference if they are new to Linux. I will post each page here as well as on the site and the CD.

Sunday, November 25, 2007

Introducing OpenDiagnostic v1.0

Introducing OpenDiagnostic v1.0. I started it as a CD to help me in the shop because none of the other CD's out there could really do the job. More features are on their way like the Windows XP Recovery Console and others. I will be working on OpenDiagnostic's usability issues right now as well as the aforementioned features. I also need to write documentation for it. (I will try maybe 2-3 tools a day). Not as full-featured as I would like (the one I use at the shop has many more, but has programs that would be illegal to put on here since you have to buy them).

Key features of LiveCD portion:

--Remove and edit Windows 2000/XP/Vista passwords
--Virus scans with updatable virus definitions with ClamAV
--Data recovery from all sorts of media and filesystems
--System benchmark and information reports (HTML)
--Basic system tests (HDD, RAM, CPU)
--DoD compliant data destruction

Key features for use in Windows:

--Password recovery with JtR
--Registry tools
--Disk tools
--Malware tools
--System Information (demo)
--Data recovery from NTFS filesystems
--Recover and update Windows keys as well as others like Office

Future releases will be much more featureful and usability will be much easier. Look for v1.1 towards the middle of this week.

Roadmap for v2.0:
--Autorun for Windows boxen
--Improved usability, performance, features
--More compact (custom kernel?)
--Better artwork


UPDATE: GParted borked. Will be fixed in v1.1.

Saturday, November 24, 2007

My HardInfo

There is a program called HardInfo in the Ubuntu repos (it crashes on Gutsy, but not on Feisty. It came from the Debian repos, so someone needs to manage it for Ubuntu) and it is like ASTRA32, except free and not as "featureful". You can, however, export your report to HTML like I did here with my system. It is really neat to know what is going on under the hood of my laptop (even though I have taken it apart dozens of times), but the benchmarks make me sad since the AMD 3200+ is beating me in the MD5 and SHA1 summing (if you read the report, I have a dual-core AMD Turion which isn't great, but I didn't think it was that bad). It is a really neat program and I would like to find a use for it at work (like before and after reports after upgrading hardware). Also, I ordered Quake Wars last night for 20 bucks. I guess that is a good thing.

Friday, November 23, 2007

Facebook is 63.88% Women

According to this, Facebook is more than 63% Women. This really doesn't surprise me, but that makes me wonder what percentage of people on MySpace or LinkedIn are male or female (I have a hunch more men will be on LinkedIn, more women will be on MySpace). I, personally, liked Facebook about 99% more when I first started using it before it opened its API than I do now. Now, it is just annoying.

Monday, November 19, 2007

Meeting Announcement

I just announced the next Ubuntu DFW LoCo Team meeting for December. We will discuss what our plans and goals are for the next year, create a roadmap, then just chill and eat cheesecake (well, I will anyway). If you are interested and have the 9th free, feel free to join us. Bring a laptop if you can so you aren't just sitting there listening to use chat on IRC with each other.

Tonight was pretty nice. Richard and I chilled at Starbucks while I played Tremulous and he played FlashFlashRevolution. I am backing up all my stuff right now so I can get a fresh load for Thanksgiving. I have a feeling this week will be extremely slow. I won't be working on Thanksgiving and the shop is dead enough as it is (not many computers to repair), so I don't think I paycheck will be over 150 bucks (200 if I get lucky). Though, a client of ours want me to write her a database program for her. We told her it wouldn't be cheap, so if she follows through, the next couple of weeks might be nice.

I have made the decision to donate at least one computer a month running some flavour of Ubuntu to a family, teacher, etc... I have actually been doing this the past couple months without realising it. Each computer costs me between 50-65 dollars to get fully up and running on average. Most of the computers I get are low-end computers (128 MB RAM, 500-750 mhz proc, 10 gig HDD). I generally upgrade the machines to 256 MB RAM. That is enough for basic use (word processing, email, internet, IM, etc...). I also usually have to get a monitor (17"), keyboard, and mouse. So, obviously, I can't afford to donate more than 2-3 max a month, though sometimes I get lucky and have a computer that is pretty much ready. If you have a computer sitting in a corner, closet, or garage, let me know. I am willing to come and pick it up. Chances are, if it was made within the last 10 years or so, it meets my standards ;-).

Thanks in advance!

Sunday, November 18, 2007

Not a happy camper, at all.

Someone please explain this to me...

bperry@systems-logica:~/srcs/gbrainy$ sudo find / | grep Sqlite | grep gac
/usr/lib/mono/gac/Mono.Data.Sqlite
/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756
/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756/Mono.Data.Sqlite.dll
/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756/Mono.Data.Sqlite.dll.config
/usr/lib/mono/gac/Mono.Data.SqliteClient
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll.config
bperry@systems-logica:~/srcs/gbrainy$ sudo gacutil -i /usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756/Mono.Data.Sqlite.dll

Unhandled Exception: System.IO.FileNotFoundException: /usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756/Mono.Data.Sqlite.dll does not exist
File name: "/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756/Mono.Data.Sqlite.dll"
at System.IO.File.Copy (System.String src, System.String dest, Boolean overwrite) [0x00000]
at Mono.Tools.Driver.Copy (System.String source, System.String target, Boolean v) [0x00000]
at Mono.Tools.Driver.Install (Boolean check_refs, System.String name, System.String package, System.String gacdir, System.String link_gacdir, System.String libdir, System.String link_libdir) [0x00000]
at Mono.Tools.Driver.Main (System.String[] args) [0x00000]
bperry@systems-logica:~/srcs/gbrainy$ sudo find / | grep Sqlite | grep gac/usr/lib/mono/gac/Mono.Data.Sqlite
/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756
/usr/lib/mono/gac/Mono.Data.SqliteClient
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll.config
bperry@systems-logica:~/srcs/gbrainy$ sudo gacutil -i /usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll

Unhandled Exception: System.IO.FileNotFoundException: /usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll does not exist
File name: "/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll"
at System.IO.File.Copy (System.String src, System.String dest, Boolean overwrite) [0x00000]
at Mono.Tools.Driver.Copy (System.String source, System.String target, Boolean v) [0x00000]
at Mono.Tools.Driver.Install (Boolean check_refs, System.String name, System.String package, System.String gacdir, System.String link_gacdir, System.String libdir, System.String link_libdir) [0x00000]
at Mono.Tools.Driver.Main (System.String[] args) [0x00000]
bperry@systems-logica:~/srcs/gbrainy$ sudo find / | grep Sqlite | grep gac/usr/lib/mono/gac/Mono.Data.Sqlite
/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__0738eb9f132ed756
/usr/lib/mono/gac/Mono.Data.SqliteClient
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756
bperry@systems-logica:~/srcs/gbrainy$

I CAN HAS CLICK?!

I have been doing some basic hacking with F# today. It turns out Microsoft has made F# installable on Linux through Mono, which is absolutely amazing. I hacked up a small GUI program here. F# is a very cool programming language. Here is a breakdown of what the program does:
//This is the equivalent of #include/imports/using
open System
open System.IO
open System.Windows.Forms
open Printf

//Create the forms to be used
let main = new Form()

//Set the program attributes
main.Text <- "Main"
main.Visible <- true

//Start making the GUI for the main window
let menu = main.Menu <- new MainMenu()
let mnuFile = main.Menu.MenuItems.Add("&File")
let mnuAbout = main.Menu.MenuItems.Add("&About")
let mnuFile_Quit = new MenuItem("&Quit")
let mnuAbout_About = new MenuItem("&About")
mnuFile.MenuItems.Add(mnuFile_Quit)
mnuAbout.MenuItems.Add(mnuAbout_About)

//Start defining the callbacks and such
mnuFile_Quit.Click.Add(fun _ -> main.Close())
mnuAbout_About.Click.Add(fun _ -> printf "F# is cool!")
let btnOMFG = new Button()
btnOMFG.Dock <- DockStyle.Fill
btnOMFG.Text <- "I CAN HAS CLICK?!"
main.Controls.Add(btnOMFG)
btnOMFG.Click.Add(fun _ -> main.Close())

#if COMPILED
[]
do Application.Run(main)
#endif

I can't wait to start embedding this stuff into C# and VB, this coupled with LINQ will be equal to pretty much raw power.

Saturday, November 17, 2007

New .NET Language in the works.

This is cool. Like, I can not wait until Mono gets this in the svn repos. Hopefully, it will beat Python in my book. I am not a big fan of Microsoft, but they are good. Personally, if they stopped working on OSes (or at most expanded on their good ones instead of coming out with brand new ones) and focused on research and development, I would really consider having a small crush on Microsoft.

Wednesday, November 14, 2007

Ban smoking everywhere? I think not.

I just received an email from Facebook telling me someone invited me to a group to "Ban Smoking Everywhere". I am royally pissed now. I hate smoking just as much as the next guy, but who are we to just go and ban it _everywhere_? I have been quite pleased with the ban on smoking in restaurants here in DFW. That is more than enough for me. I see absolutely no reason to ban smoking everywhere. It isn't our business to do so.

In other news, I unlocked my new (my bosses old) Nokia today, so I now have a cell phone again. The number is the same (682-560-9975), but all my contacts are gone. Please send me your phone numbers if I have ever called you. If I haven't, you can send me the number, but I might not add you. Danke!

EDIT: Compiling a project with Mono using the 2.0 framework, I get a Mono.Data.SqliteClient.dll not found. I quick grep shows that it is there:

bperry@bperry-desktop:~$ sudo find / | grep Sqlite | grep gac
/usr/lib/mono/gac/Mono.Data.SqliteClient
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll.config
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll
/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.0.0__0738eb9f132ed756/Mono.Data.SqliteClient.dll.mdb
bperry@bperry-desktop:~$

It is installed in the GAC, so why can't it be found by gmcs?

EDIT II: I don't know what I am going to do about my desktop...I think I need to reload it. libmono-sqlite-2.0 is indeed installed, but while working on the database SQL stuff, the assembly disappeared...literally. It just vanished. Before I can reload though, I need to get a new DVD-ROM drive. That is part of my problem, I opted to go cheap about 2 years ago, and now it is coming back and biting me. Whenever I install _any_ OS, random packages get flubbed.

Monday, November 12, 2007

Another app I would like to write

With the announcement of a project called Ubuntu Home Server (to rival the Microsoft Home Server), I would like to write a family-oriented calendar authoring app, probably in ASP.NET and C#.

Mr. Magorium

Natalie Portman is hot. I will probably go see Mr. Magorium's Wonder Emporium. It comes out the 16th. If you want to go see it with me, tell me.

Sunday, November 11, 2007

Necessity breeds invention

After the Ubuntu DFW meeting, I came home to my dad telling me all the pictures on the computer had been deleted. He told me to recover all the files. So I start doing my thing when I realise that the pictures weren't the only things deleted... almost _everything_ was deleted. I have seen this virus twice while I have been in the shop, the only things that weren't deleted were my dads stuff, who is administrator and passworded. After I told my dad that, he (obviously) got really angry. I grabbed my external drive and took it downstairs to recover all the data. 90407 files were deleted off the computer. They are recovering right now. There is a reason why Linux is so popular and it isn't just because computer geeks want to claim they are 1337 because they run it. That is because this doesn't happen. You don't get virii going on a rampant spree through your computer deleting all your files. Necessity breeds invention, and Linus started writing the Linux kernel in 1991 for a reason. It wasn't because of virii back then. It was just a project for him. Then, as time passed (think mid 90's), virii started becoming a problem. Linux started gaining ground because you didn't have to deal with the fear of getting a virus. The late 90's came along with the I LOVE YOU virus and many, many others that absolutely devastated Windows boxes. Red Hat was king in the Linux world and Linux was booming. They didn't have to worry about all these new virii infecting their computers. More and more companies switch to Linux every year because they realise the amount of money they save not having to pay for anti-virus, anti-spyware, data recovery because of virii, etc... Plus, the OS is FREE. All you Mac users out there that are saying to yourself right now, "My computer does all that. I don't see what the big deal is about Linux". I would you to see you install your Mac OS X on a PC and have it "just work". In fact, I would like to see you legally install it on as many computers as you think should run Mac OS X. I want you to get your Mac OS X free, but legally. I would like to see you upgrade your computer for free to the next version of Mac OS X with a couple clicks of your mouse (I counted 3 for me). I would like to see you have all the free software you could ever want at your fingertips.

End Rant

The applications I want to finish by the end of next year.

I have many ideas for programs, mainly Linux, that I want to finish by the end of next year. A couple are programs that Linux really needs to break out into schools and school districts:

A good local web filter. Most, if not all computer geeks (and a lot of others for that matter) know about the HOSTS file, it is easily edited and deleted, so really, for someone over the age of 5, this is not a good choice. There are a couple web filters out that are hard to install, configure, and maintain while having to go rooting through config files to even get it working. This isn't just for schools, per se, obviously it could be used for in home also. I would like it to be written in C# or VB.

A good grade and attendance suite. Again, there are some grading and attendance programs out there that are not very easy to install. A lot are web based, which I don't think is the way to go (though it does have advantages over locally installed programs). But there are also a lot of problems that I, personally, don't think the advantages make up for. Maybe C++ and Qt if I am feeling adventurous.

Other programs are for businesses. There are _many_ mediocre to good programs out there for businesses (small, medium, or large). Most are open-source and have lost any sparkle they might have had before. The others just don't have any distinguishing features that make them stand out against big-name competitors, such as bad interfaces, customer tracking, etc...

Finish the POS system. I have been working this for a while, but always end up scratching it and starting over. I can't decide if I want to write it in Qt, Gtk#, or WinForms. I think VB is the obvious choice for a language since it is excellent in dealing with XML and such. The database is also one thing that makes me second-guess my self over it. Should I use MySQL? MSSQL? Oracle? There are so many choices that it makes it difficult sometime. I have already gotten the integration with GnuCash down (much like QuickBooks POS and Quicken), it is just XML. I would offer it free to small business ( > 10 employees) with minimal networking. The rest would need to buy registration keys.

There are others, but I have still got them rolling around in my head. They are little half-baked ideas that I would write, put out the source code, and fix bugs when they came. No active development really. If you have anything that you think Linux is really missing, drop me a line.

Maybe it _is_ me

For some reason now, every time I rebuild my SquashFS roots with Reconstructor, I get a symbolic link error. This error results in an iso size of >= 800 MB (when the projected size was like 423 MB). I bit of googling gave me one possible reason. Some guy said that he was getting that error when he installed a new kernel in reconstructor/...but I am not installing any new kernels. I have started fresh from an absolute clean Xubuntu iso and still get this error after fully recreating the reconstructor/ directory. It is truly a bizarre occurence. After watching it do this a couple 20 times or so, I realised it only does this when Reconstructor can't unmount /proc in the chroot. Because of this, I can't sudo rm -rf reconstructor/ because all the /proc files are apparently "in use" because they couldn't be unmounted. I have to reboot in order to rm the directory. Anyway, back to the guy mentioned earlier. He said that removing any new kernels and recreating the reconstructor/ directory fixed his problem. I have yet to find a solution.

So, in between my frustrations of figuring out what is going on, I wrote an autorun app (in a RAR archive for best compression) for the LiveCD in VB.NET for the Windows boxen. I need people to test it out, make sure it runs smoothly. It does require the .NET 2.0 Framework to run, so if you get an error saying something like this:


The application failed to initialize properly (0xc0000135)


that means you need to install the .NET 2.0 Framework. You can get that here. That is something I am working on at the moment, detection and silent installation of the .NET Framework if it isn't found on the host machine. While I was writing the little app (it really is little and easy, mostly Try/Catches of System.Diagnostics.Process.Start()), I did find a neat piece of code. This is one of my subroutines for a Link Label:


Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
Try
Dim psi As New Diagnostics.ProcessStartInfo()
psi.UseShellExecute = True
psi.FileName = "http://systemslogica.volatileminds.net"
Process.Start(psi)
Catch ex As Exception
System.Diagnostics.Process.Start("IEXPLORE.EXE", "http://systemslogica.volatileminds.net")
Console.WriteLine(ex.ToString)
Finally
End Try
End Sub


Pretty neat way to open a web site in the default browser rather than forcing it to use Internet Explorer like I do if the Try fails and goes into the Catch.

That is enough geeking for me today, I guess. Hopefully I will figure out what is causing my SquashFS symbolic link error so I can get some real work done (though the autorun app was definitely on my TODO list).

Also, Sunday at 3:00, we are having an Ubuntu DFW Team meeting at Java and Cha in Plano. It is a small group meeting really, I am not expecting more than a few 3-5 guys to show besides myself. We are going to talk about some points and ideas that Christer Edwards talked to me about Thursday night. If you would like to stop by and see what we are about, feel free, though if you are reading this, you are probably at least an hour away like I am and don't feel like making a trip like that. If you do want to go, it is really easy to get there. Take 157 (Collins) North to 183. Take a right on 183 to 161. 161 turns into the tollway, so bring a TollTag or some cash. Take 161 north to Coit. Exit Coit, take a left for about 1-2 miles and Java and Cha will be on the right next to a movie theatre.

Saturday, November 10, 2007

Now I know

I figured out why my computer kept freezing up on me earlier this week. It took a couple reloads and trying to install GFX drivers to realise my GFX card is going out. It is about 2 years old (6600 GT) so I guess it is time for a new one. I think I might also get another gig of RAM when I get the GFX card today. I really just need a new computer, one with at least a dual-core processor, 2 gigs of RAM, and possibly either a 7800 or 8600, depending on price and memory. Actually, I will be busy today, it might have to wait till tomorrow...

Friday, November 9, 2007

Those darn pirates

I was having to reinstall Windows on a custom build box today when I realised that the computer didn't have a Windows key on the side panel anywhere. I called the lady up and she said her brother put the computer together for her (he installed both Mandriva and XP for her, a dead giveaway that the Windows was bootlegged). She said she would have to call him and get the key. She called back about 10 minutes later with the key. She started to say the key and I automatically knew that the key wasn't legit. I still wrote the key down just to say I did and as soon as we hung up, I googled the first 10 characters and sure enough, like 100 sites popped up with the same key without even going past the first ten characters. After that, I decided I would call the lady back in about twenty minutes and say the key wasn't working. When I was done googling, I went to work on another machine that would just freeze up randomly (it had about 450 virii, didn't get a chance to check for spyware). I noticed that the key they had on the side of their HP was for home, but they were running pro. So, I checked the properties on the computer and saw that the computer was still on service pack 0. That is also a dead giveaway the windows is pirated. I grabbed our key finder cd and stuck it in the computer while in Safe Mode and checked the key just for gits and shiggles. It was the same key the lady had read to me 10 minutes earlier. I lawled. I guess that just shows how prevalent Windows piracy is.

Thursday, November 8, 2007

Resizing Partitions

I haven't posted anything in a while, so I figured I would post something while I was waiting for 5:00 to come. Guess what, it is on resizing NTFS and FAT partitions.

This is something I have to do on a regular basis in the shop. I use GParted, the GNOME Partition Editor. You can either use the Ubuntu LiveCD or the GParted LiveCD (GParted LiveCD is easiest IMHO if that is all you are doing). I created a custom LiveCD that does a lot more than both the CD's put together, but that doesn't really matter right now. What matters is how to prep the windows box before resizing the partition. What you should do first before anything else is clean up the drive, remove any data that doesn't need to be there. I recommend CCleaner for that. That makes the defrag go a lot smoother since there isn't unused data all over the place. After all that data is gone, defrag the computer. Again, I would not recommend using the built in windows defragger, use Auslogics Disk Defragger. That pushes all the data to the front of the partition so that data loss isn't a big deal. All these tools can be found in http://files.volatileminds.net/tools as long as some other nifty ones such as registry cleaners and registry compacters.

glhf

Sunday, November 4, 2007

New Ubuntu DFW Site

Since Canonical can't seem to get our site fixed, the Ubuntu DFW LoCo team has taken it upon themselves to get a new site. Since I am the team leader and since I have some pretty rocking hosting, I figured I would hook us up. Our site is now http://ubuntu-dfw.volatileminds.net. If you run Ubuntu and live in the DFW area, feel free to join and hang out.


EDIT: We are now working on getting the http://dallas.ubuntu-us.org...

Where I think spam is going

From email to telemarketers and with the advancements in CallerID and programs like spamassassin, the spammers are fighting a losing war right now. But with the ever rising popularity of IMing with things like MSN, AOL, Yahoo, etc..., I really think within the next couple of years, we will find spammers using these mediums as a new way to spam. It would be just like telemarketing or email spamming from the spammer's sense. They could require you to supply a screen name instead of an email address and they would sell said screen name the same way they would sell your email. The "beauty" in this is there is absolutely no antispam for IM, the spammers would bank for at least a couple of years until some really solid antispam comes out. And then the antispam in question would need to be able to cover all the various protocols such as oscar, MSN, Yahoo, etc which would be a complete nightmare from a developer's standpoint (especially with MSN and Yahoo). Now you can block people on most, if not all protocols, but a spammer would be able to create as many accounts as he wanted as long as the screen name isn't taken. That reminds me of another thing I could see happening to th IM world, screen name parking. It would work the same way domain parking would work, except it doesn't cost any money from the parker's pockets. It is pure profit.

Saturday, November 3, 2007

I need a new cell phone

Ok guys, I am looking for a new cell phone. I don't want to spend more than a hundred dollars because I will only have it for a couple months at the most. I don't need an mp3 player or any PDA features, just a phone (bluetooth is ok). If you are selling one, I would like to see it. If you have a suggestion, I would love to hear it (maybe craigslist or ebay links?). Thanks!

64-bit stupidity

So, while compiling bkhive, samdump2, clamav, and some other things on the live cd, I realised as I was compiling the last thing that I was using a 64-bit OS. The live cd is 32-bit, so I was compiling all this stuff for a 32-bit on a 64-bit computer. Not good. I am not a happy camper right now.

Friday, November 2, 2007

GNOME 2.20 on Ubuntu Feisty

So, the only reason I wanted to upgraded to Gutsy was because I didn't feel like compiling GNOME 2.20 and Gutsy came with it pre-installed. Tonight, I folded and decided to compile GNOME since I really wasn't impressed with Gutsy. I already have a lot of devel packages installed on my system, so I am sure these are not the only packages you need (like libglib2.0-dev, libgkt2.0-dev, build-essential). I downloaded GARNOME from ftp.gnome.org and unpacked it to my desktop. cd to the garnome/desktop folder in the folder you just unpacked. If you have all the dependencies, make paranoid-install should work right out of the box, but for me I had to get the following packages:

sudo apt-get install libglitz1-dev libglitz-glx-dev libtiff4-dev python2.5-dev flex libgdbm-dev libxml-simple-perl libmagick++9-dev



Anyway, this week sometime Christer Edwards from the Utah LoCo group will be coming down to teach some classes and would like to get some dinner with me and a couple more of the guys in the DFW group. Hopefully, this will be Thursday.

Gentoo has taken about 3 days to compile so far, though I have messed up a lot. Once I get a working copy for a LiveCD, I will test it out and see how it performs against my Ubuntu ones. If the change isn't significant enough to spend more time on it, I will just drop it and use Ubuntu. So far, it is looking as if it will beat Ubuntu, but I can't say for sure, yet. I want to build a 64-bit and 32-bit version of each just to be thorough. I will try to have a solid beta of both Home and Pro uploaded by the end of the weekend (probably Ubuntu). I keep saying that to myself whenever I get free time ("yeah, lemme just upload this no...wait, what if I did this...") and I end up starting a lot of work on it that really isn't needed. It is a bad habit, but maybe I can get myself out of it.

I received my openSUSE 10.3 box this week and am absolutely thrilled. I can't wait to get it loaded in a VM to test it before I put it on a working computer. I am sure it will exceed my expectations, but I am just being paranoid.

Right now, I need to get out of the house, maybe I can convince Richard to go to Starbucks after his Calculus test...