Digital Stronghold




November 5, 2009

Delete files and directories recursively in Java

This post will teach you how to delete files and directories in Java recursively. There is nothing special in this post but I’m sure this will be useful especially for those who are just starting out their programming career in Java.

boolean deleteRecursively(final File file) {
    if (file.exists()) {
        final File[] files = file.listFiles();
        for (int i = 0; i < files.length; i++) {
            if (files[i].isDirectory()) {
                deleteRecursively(files[i]);
            }
            else {
                files[i].delete();
            }
        }
    }
    return (file.delete());
}

This code was not tested. Please read the Java 6 File API documentation [here] for more information.

"Confidence means non-paralysis, a willingness to act, and act decisively, to start new things and cut failing ventures off." - Tom Peters

October 18, 2009

vrms - Virtual Richard M. Stallman

Though I am aware that there are non-free packages lurking in my box, I want to be precise, thanks to Virtual Richard M. Stallman.

          Non-free packages installed on linux-conqueror
	
fglrx-modaliases          Identifiers supported by the ATI graphics driver
linux-generic             Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.28 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
nvidia-173-kernel-source  NVIDIA binary kernel module source
nvidia-173-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-180-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-glx-173            NVIDIA binary Xorg driver
skype                     Skype - Take a deep breath
tangerine-icon-theme      Tangerine Icon theme
virtualbox-3.0            Sun VirtualBox
	
           Contrib packages installed on linux-conqueror
	
nvidia-common             Find obsolete NVIDIA drivers
nvidia-settings           Tool of configuring the NVIDIA graphics driver
	
  13 non-free packages, 0.9% of 1505 installed packages.
  2 contrib packages, 0.1% of 1505 installed packages.

Well, I need these.
- NVIDIA - Who wants to use the generic vesa driver (+ mesa) for playing games?
- Skype - I have relatives to keep in touch with.
- Virtual Box - I use Windows 7 to run web applications classified as For Microsoft Internet Explorer Only.

October 7, 2009

Linus’ discussion about goto statements

As discussed by Linus Torvalds 6 years ago,

From: Linus Torvalds
Subject: Re: any chance of 2.6.0-test*?
Date: Sun, 12 Jan 2003 12:22:26 -0800 (PST)

On Sun, 12 Jan 2003, Rob Wilkens wrote:
>
> However, I have always been taught, and have always believed that
> “goto”s are inherently evil. They are the creators of spaghetti code

No, you’ve been brainwashed by CS people who thought that Niklaus Wirth
actually knew what he was talking about. He didn’t. He doesn’t have a
frigging clue.

> (you start reading through the code to understand it (months or years
> after its written), and suddenly you jump to somewhere totally
> unrelated, and then jump somewhere else backwards, and it all gets ugly
> quickly). This makes later debugging of code total hell.

Any if-statement is a goto. As are all structured loops.

And sometimes structure is good. When it’s good, you should use it.

And sometimes structure is _bad_, and gets into the way, and using a
“goto” is just much clearer.

(more…)

August 26, 2009

The Linux Foundation Visa Platinum Rewards Card

With every purchase made you help the Linux Foundation. The funds raised will be used for technical events and travel grants for open source community members. Grab your Linux Foundation Visa Platinum Rewards Card now!

November 7, 2006

nVidia & Xorg issues

This entry should have been posted some time ago. Well, I hope this would still serve as a valuable reference. :)

The most annoying part in making your OS work is the X server especially if you are using decade-old displays that can only handle a maximum of 1024x768 @ 60Hz. Worse if its EDID is not being read correctly by the driver. I guess driver writers from nVidia should pay much attention to this issue.

Video Card: GeForce FX5700 128-bit 256mb
Display: DTS CM-14D (Made in China)
Xorg Version: xorg-x11-7.1
nVidia Driver Version: nvidia-drivers-1.0.8776

Setting things for Xorg and nVidia proprietary drivers may not be of much pain for Ubuntites but it is the other way around for Gentooligans.

(more…)

November 1, 2006

Ebuilds: media-gfx/f4l

F4L is an open source development environment for Macromedia Flash, a multi-platform format(swf/svg) widely used for web applications and vector animation.

I have found out that there is no existing ebuild yet for this cool project. It is not included in the official Gentoo Portage yet.

Here is the ebuild. Use at your own risk. I assume you already have a working overlay of your local portage.

in file f4l-0.2.1.ebuild

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
	
inherit qt3 eutils
	
DESCRIPTION="F4L is an open source development environment for Macromedia Flash"
HOMEPAGE="http://f4l.sourceforge.net/"
SRC_URI="mirror://sourceforge/f4l/${P}.tar.bz2"
	
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86"
	
DEPEND="=x11-libs/qt-3.3*"
RDEPEND="${DEPEND}"
	
src_compile() {
	"${QTDIR}"/bin/qmake -o Makefile ${PN}.pro || die "qmake failed"
	emake || die "emake failed"
}
	
src_install() {
	dobin bin/${PN}
	newicon src/cursor/main_ico1.xpm ${PN}.xpm
	make_desktop_entry ${PN} \"Flash for Linux\" ${PN}.xpm Graphics
}

Enjoy!

October 29, 2006

Some updates on my Gentoo box

Filed under: Gentoo Linux

Get in position and wait for my go. I recompiled the kernel applying Con Kolivas‘ kernel patchset for linux-2.6.18. Accordingly, his patchsets are designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. Feedbacks show that it scales well for a typical desktop use. If you want to try this out, here is a comprehensive walkthrough that will get you on your feet along the way.

I also felt the need of updating my Xorg. I had a smooth shift from Xorg 6.9 to Xorg 7.1. So far so good.

Firefox 2.0 rocks as well! There are obvious improvements so grab yourself one. Currently, it is masked by x86 keyword in the Gentoo Official Portage so just deal with it.

August 26, 2006

Flashback

Now I can update my Gentoo box even on a daily basis. Using my 30GB USB mass storage device, I can do so even if my prepaid internet account runs zero. Here’s a short guide for those who haven’t tried this one yet.

An emerge –sync alternative would be downloading the latest snapshot on any Gentoo mirror site using a machine with a high-speed connection. You might want to salvage the /usr/portage/distfiles of your machine first before proceeding.

kee ~ # rm -r /usr/portage/
kee ~ # tar -xvjf portage-latest.tar.bz2 -C /usr/
...
kee ~ # update-eix
Reading Portage settings ..
Building database (/var/cache/eix) from scratch ..
[0] /usr/portage/ (cache: metadata)
     Reading 100%
[1] /usr/local/portage (cache: none)
     Reading 100%
Applying masks ..
Database contains 11268 packages in 149 categories.
kee ~ # env-update
>>> Regenerating /etc/ld.so.cache...
kee / #

Now for downloading packages for emerge.

kee ~ # emerge -fp package ... 2> somefilename.txt

The links are now stored in the text file. Download ‘em on a machine with a high-speed connection. Place all the downloaded files inside /usr/portage/distfiles of your machine then.

kee ~ # emerge package ...

I’m bored. Cheers.

Theme designed by Joset Anthony Zamora


Digital Stronghold

↑ Get Headline Animator