Jun 25
Interesting information about colleges…
When you’re talking engineering colleges, names like MIT and Stanford pop up. When you think of technology you really think about Silicon Valley in the Bay Area of California. You may even think about Cambridge, MA (its a little less known but still important startup bed).
Well, considering the prestige of those colleges is it any wonder that all the industry sticks around? But honestly, is it really the academics themselves that are creating those entrepreneurs? The video bellow has an interesting thought…
What’s the interesting thought? Not that these colleges have good academics (for there are quite a few colleges with just as good if not better academics), but rather that they work with their students after graduating, not finding jobs, but creating them. The universities encourage their students to start their own companies and work with their students in licensing of intellectual property, and encourage their professors to consult for the new companies being created by students.
Honestly, when you look at it, that’s quite brilliant, and it seems to work.
That’s scores different from how my college is (they claim ownership of all of my classwork with no ability for me to license it back, and the very thought of me F/OSS’ing my graduate thesis is obscene). I guess we know who’s method works better….
Ping this! No commentsJun 23
Call for Recommendations: Linux Distro
Ok here’s the scoop. I’m starting work on a Linux distro meant to be run as a live OS with persistent changes on a USB flash drive. The distro is targeted at Computer Science students so they can take the distro with them. I’m debating building it as a desktop OS as well to be used as a primary distro.
The basic jist is that the distro is meant to be run on lab computers in CS departments and allow access to university resources. These include things like Windows/CIFS shares, Zephyr/XMPP, and things like that.
Here are some of my current ideas
-
Window Managers
- e17
- Great window manager, just currently unstable
- KDE
- Already built into the package manager I’m thinking of using, seems to be a dev favorite
- GNOME
- Stable and simple
-
Programming Software
- emacs/vim (both graphical and console versions)
- Various programming language integration versions for above editors
- GNU Compiler Collection (the whole thing, C, ADA, Java, etc)
- Java JDK (depending on redistribution licensing but it shouldn’t be a problem)
- Eclipse and Netbeans IDEs with various plugins
- gdb/DDD
- dtrace (depending on usability)
- Various other compilers like GHC and SBCL
- Developer tools for AIs and such (CommonLisp and PROLOG stuff)
-
Usability Software
- OpenOffice 3.1
- Compression software (tar, unrar, 7zip, etc)
- OpenSSH (obviously)
- Firefox
- Rhythmbox
-
Math Software
- Maxima
- IT++
- GNU libmatheval
- Octave
-
Documentation
- Free Documentation and tutorials for programming languages and theory
- Software to cache web pages locally so they can be pulled up without an internet connection
-
Security Software
- grsecurity/PAX
- Help mitigate attacks against the system and also has the added benefit of forcing the CS Student to code properly and prevents them from doing stuff they shouldn’t be doing
- SELinux
- Again, helps mitigate attacks and prevents the user from doing things with code that he shouldn’t be doing
- ClamAV/chkrootkit/rkhunter
- Just in case
-
Package Managers
- Nix
- I have a preference for Nix because its purely functional (id est, non-destructive) which will help mitigate issues with dependency hell, and also allow easy rollback to previously working software if testing new versions. My issue is that because its purely functional, it’ll use up a lot of drive space. Flash drives should be large enough where this isn’t an issue, but there would probably be the need for a cleanup script that’ll clean out older versions
- Pacman
- This one is good because its on a rolling release system and has lots of packages (pacman is Arch Linux’s package manager), it just doesn’t offer the flexibility of Nix
- APT
- There’s always Debian’s package manager. It could prove to be difficult, however, to run this on a rolling release system because of how its designed. Preferably stay away from this package manager and other staged release package managers
If you like where this is headed, you can help out or you can at least give me some ideas for the OS. Included software, underlying systems, stuff like that. Obviously I’d like to use as much F/OSS code as humanly possible. I’m not opposed to stepping outside of the bounds of F/OSS, but due to licensing regarding redistribution, I figure it’ll be a heck of a lot less of a headache.
Ping this! No commentsApr 22
How to fix bash linewrap issues
So I was having some problems with bash wrapping lines back over the current line that it was on. Come to find out this was due to the colors I used in my PS1 variable.
To fix this, you need to change from a color identifier like
red=’\e[0;31m'
to something like this
red='\[\033[0;31m\]‘
This should fix your problem with the linewrap issues
Ping this! No commentsMar 2
gSMS Pidgin SMS plugin
Remember gSMS, the Pidgin plugin that sent your IMs directly to your phone using Google Calendar? Well annoyingly enough the developers website is giving timeouts and has for what I’m safely assuming is months now. Well I found some older versions for Pidgin 2.3. They loaded in 2.5.4 but I haven’t tested them out to make sure they work. Either way though, maybe you can make use of it.
Ping this! No commentsFeb 13
Getting the Alfa AWUS036H working on Ubuntu
The Alfa AWUS036H, based on the Realtek 8187 chipset, is a really nice unit, but it tends to have a few quirks on Ubuntu. Here’s how I got mine working.
First make sure that you have the rtl8187 driver installed and loaded by running (do NOT plug your Alfa in yet, if you already have it plugged in, unplug it, disable any existing networking equipment, restart the wireless by right clicking on the network manager and unchecking “Wireless”, then recheck it)
Code:
sudo modprobe rtl8187
Now plug your Alfa in. You should see that the Network Manager identifies the dongle as a “Realtek RTL8187″. Go ahead and associate with a network if you can.
Now I was using the Alfa with an 8dBi antenna. You do the math to realize how much power that is, and you’re probably getting a bunch of reflections and echos. We need to turn the power down.
Code:
sudo iwconfig wlan0 txpower 50mW
Where wlan0 is the name of your dongle.
I also had an issue where the dongle was identifying the signal strength as much lower than it actually was, so it set my bit rate really low (like 1Mb/s)
To fix this, run
Code:
sudo iwconfig wlan0 rate auto
And it should read 54 Mb/s when you do another iwconfig
Now you need to reassociate to the network. You do this by going to your network manager and right clicking on the network you’ve already associated to.
After doing this my networking was screaming fast. Also continued to work after reboot, but the power went back up. I left it alone and things seemed stable. Held a stable ping over 2000 sequences with around 1% packet loss.
Hope this helps.
Ping this! No commentsFeb 12
Ubuntu e17 install
e17 is a rocking WM. Its lightweight and has all kinds of crazy cool stuff. Unfortunately there aren’t any stable releases and binaries tend to be hard to come by.
I wanted to slap e17 on my laptop which is running Ubuntu 8.10 Intrepid Ibex, and there exist scripts like easy_e17 to simplify the process but I found it just complicated and convoluted things. So, I just opted to do it manually.
The e17 User’s Guide is actually the best starting place.
From there its just compile and follow instructions. Also you’ll need to create a way to start e17 when your PC boots. I already had GDM installed and working so I just did the GDM Install (for Intrepid the path is /usr/share/xsessions). You’ll need the enlightenment.desktop file which, if you installed to the default location, is in /usr/local/share/xsessions. Just copy that file into the /usr/share/xsessions folder then log out. Hit the Sessions button at the login window and select Enlightenment. Should be good to go.
Needless to mention, after you run the autoconf script, you can change your CFLAGS in the Makefile. DO NOT DO THIS IF YOU ARE UNFAMILIAR WITH USING GCC CFLAGS. If you are familiar, I also assume you know where to get your CFLAGS, if not, the usual sources have them.
Again, don’t edit your CFLAGS if you don’t know what this does or how to use it. e17 will not run or might have adverse effects on your system if you specify incorrect CFLAGS.
I take no reponsibility for your install.
e17 is lightening fast and it works great too. If you have 2-3 hours then I recommend this (you can probably do it a lot faster but this is a pretty good time to set aside, just for playing with it if nothing else).
Keep in mind that e17 is also technically experimental software, and that tons of work is always being done on it. You can repeat this build and install process however often you want.
Ping this! No commentsFeb 11
Why F/OSS is better
Excerpt from a Slashdot convo over at http://it.slashdot.org/article.pl?sid=09/02/11/007216
Exactly why is F/OSS better?
It’s subject to peer review. Some of the best programmers in the world have access to, and readily submit, code for F/OSS projects (not to say that EVERY F/OSS project is superior mind you).
Look at why hackers use it. Aside from their ability to heavily modify their system, they’re also extremely paranoid. I know plenty of hackers that contribute code and readily fix problems in F/OSS code because of their own paranoia.
Look at why the DoD and NSA use it. Its laid out like an OS should. ACLs, chrooting, SELinux, all of these help make it much easier to protect their own systems.
Want a really good blast at Microsoft? OpenBSD, its been around since 1994, there have only ever been 2 exploits off of the default config, and one of them was for a legacy version. Heck OpenBSD + pf is what the Defcon guys use.
And quite damn honestly, code that’s open source has met the firing squad. Hackers CAN see the code and compile it themselves, making it EASIER to find exploits, but yet Linux is regarded as far more secure just makes me think about how secure Linux REALLY is in comparison to NT. If you could place the NT Source code in the hands of someone competent I’m sure it would be hell for M$ (just when you thought it couldn’t get any worse than MS08-067).
Ping this! No commentsDec 8
My Five Points of an Ideal OS
So there are plenty of operating systems out there and more are gaining ground. OSX and Linux are really starting to punch holes in Microsoft’s to-date stranglehold on the consumer/business desktop OS market, but these OS’s are not without their own problems.
First OSX. Lets step through my issues with OSX step by step. First is that OSX is based on BSD-UNIX (and the Mach kernel), namely FreeBSD, a operating system family emphasizing F/OSS, and while this in and of itself is not a problem, what Apple did with it, is. OSX was turned spawned out of not only BSD-UNIX but also numerous other F/OSS projects that then formed a good portion of the basis for OSX. Apple then essentially threw a pretty GUI on it, and made it so it will only run on their proprietary hardware. I know there are other aspects of OSX, but I cannot get past this part because it totally circumvents the entire F/OSS model and philosophy. Second, Apple’s OSX is horribly insecure. Yeah, few virus’s exist for OSX but that’s because it’s more obscure than anything else. Heck Vista was called more secure than OSX and you may be asking why this is. Well, a lot of the open source codebase that comprises OSX hasn’t been updated in huge amounts of time. Furthermore, OSX doesn’t do any modern sort of heap/stack/library protection or randomization. It inherits a lot of UNIX’s security, but its legacy security. It really needs to be brought up to date. Finally, my last problem with OSX, is that Apple doesn’t contribute any F/OSS back to the F/OSS community. I would be a hell of a lot less critical of Apple Computer if they simply contributed back to the F/OSS community. It could be anything really, from simple tools to make life easier on UNIX, to open-sourcing their filesystem, to even making OSX/UNIX application interop easier, but none of this has ever come to fruition. Plus, it seems like in general, Apple users have something crammed up where the sun doesn’t shine about F/OSS (example). This isn’t always the case but seriously, loop-holing around BSD style licenses is one thing, but flat out ignoring the GPL is just not cool.
Ping this! No commentsNov 19
Linux suspend to disk issues
So the other day I hit suspend to disk in one of my classes when I was getting ready to move from one to another. I run Ubuntu 8.10 Intrepid Ibex on my laptop just for ease of administration and such, my laptop uses the crazy Broadcom bcm43xx wireless chipset. But after trying to RESTORE the PC, it would not come back online. So I did a hard reboot, at which point the X server would not come back up.
After investigating farther I noticed the problem was due to a single line in the fstab file under /etc/fstab. Basically this file is a descriptive table of the layout of your filesystem (hence fstab) The line of code in question was “errors=remount-ro”. This was tagged onto my main root filesystem (mounted at /), and basically means that if the system detects an error, to remount the file system as read only. X11 won’t work under read only mode apparently.
The way to fix this is to run fsck, you can boot into the recovery kernel and run it from there. This basically replays the journal (if you’re using a journaling file system) and corrects any discrepancies. I personally also removed the “errors=remount-ro” portion of that line. I understand that this could lead to data corruption in the future, and you should realize this too if you use that line. Basically my mounting it as read only, it prevent any further entries into the journal before you can get a chance to run fsck.
Now the permanent fix as I’ve come to find out, has to do with swap space. From what I understand, in order for suspend to disk to work, you need at lead the amount of RAM you have available in the swap partition. Most people have double the amount of swap that they do of RAM but I have 2GB of RAM so I only have 1GB of swap.
That should fix the problem. I haven’t attempted it personally but I do believe this is the problem from the things I’ve been looking at.
Ping this! No commentsSep 28
Utilizing the internet as a modern student: Tips from a Master Googler
This is an article in two parts, the first explains search engines and searching, while the second explains actual tips about searching, skip to the second part if you don’t want to read about search engines and searching.
Part 1: Understanding the Google Algorithm and computer searching
The internet is a big place. What amasses in the petabytes (1 petabyte = 1,048,576 Gigabytes; possibly even larger) of information, culminates one of the largest data archives in the known universe, and best yet, it’s actively archived by search engines such as Google, Microsoft Live, and Yahoo. However, in it’s initial days, search engines were loaded down with poor information and bad sorting algorithms. Fortunately, this is no longer the case. Ever since Google came into being, the original revolutionary search engine sorting algorithm, pretty much everyone has updated their algorithms to be more efficient, and thus more useful.
However, despite this, the ever growing Google index can be difficult to navigate and find useful information. With literally trillions of entries (link) in the index, searching through it to find anything from a niche topic to the latest big news article can be an absolute nightmare (and just imagine what it’s like to INDEX all of this).
First however, you need to understand a little about searching.
Ping this! 2 comments