Google Go

Well, it seems our friends in Mountain View, Ca have decided that they want to replace C/C++/Java, by inventing a new systems language called: Go. This language compiles insanely fast, has strong threading support, is object-oriented, is designed to require less typing, is garbage-collected, is nearly as fast as C, and supports more stuff in its initial release than you can throw a stick at. Take a look for yourself:

http://www.youtube.com/watch?v=rKnDgT73v8s

I'm not entirely sure I like the syntax, given that I'm so used to (and kind of like) the way C does things. I know it may not appear as such from looking at this blog, but I'm actually a big fan of C. I guess I can get used to it tho...

If you're interested in trying Go out, you can look at their site at http://www.golang.com/.

To install go, you need to do the following:

  1. Make sure you have this stuff installed: 'ed', 'libc6-dev', 'make', 'gcc', 'bison', and 'mercurial'.
  2. Create a 'go' folder in your home directory. (also, add a 'bin' directory to your home directory/$PATH if you haven't already.)
  3. Add the following lines of code to your .bashrc:
    export GOOS=linux
    export GOARCH=amd64
    export GOROOT=$HOME/go
    Note: $GOARCH can be any of: '386', 'amd64', or 'arm', depending on your CPU type.
  4. Then run:
    hg clone -r release https://go.googlecode.com/hg/ $GOROOT
    Once that completes, you can then run the following:
    cd $GOROOT/src && ./all.bash
    Wait a while. This will compile the various Go compilers, copy them into the ~/bin directory, and then run some test-suites on those programs.

When it's all done, you'll have a nice, shiny, new Go compiler that you are free to play around with. Enjoy. ;)

IT'S ALIIIIIIIVE!

So, a few weeks ago, my SkullCandy headphones started dying. Now, SkullCandy has an awesome warranty. Basically, if it breaks and I didn't break it, I get a new one. Even if I did, I'd get another one at half off. Pretty good deal, but my dumb ass forgot to fill out the warranty card, so the serial number is lost to the ages, and I can't cash in on my free headphones. Guess I'll have to make due with these ones for now... or do I?

So these headphones are only tweaking out with the right earbud. And by twisting the connector and the wire, I am sure the problem is just with the connector at the bottom. Plus, I have some crappy $1 headphones that I got from somewhere else, that I don't need anymore... After concluding that the worst thing that could happen is I'd have to listen to my music on my speakers, I decided to try a little bit of splicing by grabbing my knife and cutting both wires in half.

After stripping the wires down, I found that luckily, both manufacturers used the same set of colors in the wires: red, blue, and copper. (Where blue=left, red=right, and copper=ground.) Now, those wires' color is actually an insulating paint, so I had to strip that off. Some dude in a Bose headphone review suggested I melt that paint off with a soldering iron, but I found that simply dragging a knife gently over those wires got me far better results. I twisted all similar colors together, soldered those bundles together, and then applied copious amounts of electrical tape to protect my poor soldering job from the environment.

In the end, the audio quality is actually really good. (At least, my decibel-addled ears can't hear a difference...) This is really good, cause I was expecting it to sound like a tin-can speaker at best. I'd laugh a bit, and then place an order for a new pair. This result is far better.

Now, some people (making the very bold assumption that people read this blog) will look at this post and go like: "The hell? He thinks he accomplished something there? I do work like that before breakfast." Well, yeah, it probably is child's play to some, but it's awesome for me, given that I'm such a software guy. I mean, I love taking hardware apart, and I do have a fair knowledge of how electronic components are supposed to work, but as my old keyboard will tell you, many things I take apart will never find their way back together. The fact I actually pulled this one off is just astounding to me, and I'm totally grinning ear-to-ear.

So yeah, this was a good Halloween. I think I'll play some congratulatory Dragonforce to celebrate.

Oh, and only 5 kids showed up at our door this year, so we have LOADS of leftover candy... Maybe I'll have a Reese's Peanut Butter Cup with that Dragonforce... :)

gnome-shell

I'm currently trying out the new gnome-shell thing, because supposedly it will become the default in Gnome 3.0, and I was wanting to get to know it before it gets jammed down my throat.

Gnome-Shell screenshot

Things I like:

  • The new method of handling workspaces is pretty cool. When you are in the dock, (I don't know if it's called the "dock", but that's what I'm calling it) if you need another workspace, you click the '+', and you immediately get another. If you are no longer using a workspace, you click the "-" on an empty one, and it goes away. It's simple, yet reasonably functional.
  • Programs can be clicked-and-dragged from one workspace to another, and it is done in a nice, graphical way.
  • I like the prevalence of the search function, and it's reasonably fast.

Things I don't like:

  • They only give you one panel at the top, and you aren't allowed to change it. That's just crap.
  • Gnome-shell is too active. Opening the program list will zoom the desktop out so you can see every workspace at once, and it will then reorganise all of your windows so they are all immediately visible. Well, that's great, but I really only wanted to look at the list of programs.
  • Gnome-shell is slow. Like, real slow. It causes my computer to lag, just by dragging a window around, and I have a pretty good processor, and the latest graphics drivers.... not that I should need either in order to get a responsive environment. Also, there is a 1/4 second delay between clicking the "Activities" button to open the dock, and the dock actually opening. Plus, all the animations are really slow. Look, the whole gobject-introspection concept is cool, but just because you can write a window manager in Javascript, doesn't mean you should.
  • Everything in gnome-shell is too over-the-top. I like the search feature, but I don't like how it incurs that jarring zoom-out thing. I like that desktop reordering feature, but it has loads of unnecessary animations, and uses up the entire screen. Isn't there a more minimalist way of introducing those features to the already-existing Gnome environment?
  • Too much emphasis on "Recently Documents". IMHO, there's no good use for the "Recent Documents" list in the window manager. If I'm editing an essay, or coding up something, that's only going to involve 1 or 2 files, and those will be in the "Recent Documents" list in the relevant application. Having all recent documents from all programs aggregated in a central list is just confusing, and pointless.
  • When you are zoomed-out in the dock, you can't click those icons in the upper-right-hand corner. That should be a simple fix, but I thought I'd put it in here.

Conclusion:

The list of things I don't like could go on. Seriously, any positive features of this environment could be easily integrated into the already existing environment, and it wouldn't have been as visually jarring. Everything about gnome-shell defies the common-sense rule of UI design that tells you to stay out of the user's way. Instead, gnome-shell seems to be happy with getting in your face, making its presence known, and slowing everything down in the process.

Ultimately, I think the developers are trying to optimise the wrong things with gnome-shell. Very little time is spent reorganising programs on your desktop, but the gnome-shell developers are going through so much effort to revolutionise the way you can drag programs amongst the workspaces. Well, that's all well-and-good, but your solution is way too in-your-face given it's ultimately minimal role. Plus, in exchange for these questionable advantages, you lose all kinds of functionality and customisability within the Gnome desktop. Maybe the developers should stop reinventing Gnome's interface around an activity that shouldn't take more than a couple of seconds, and they should address the fact that the Gnome panel still can't embed a freaking RSS feed.

The more I think of it, the more I hate it, so I'll just end with this: Gnome-Panel better be off by default. If it isn't, I'm switching to Xfce.

Way to go, Epiphany

Acid3 100/100

Awesome job: you guys totally beat the firefox guys to the 100/100 on the Acid3. And not only that, but the new webkit engine seems to be lightning fast... take a look at these Javascript benchmarks:

TEST             COMPARISON         FIREFOX/GECKO     EPIPHANY/WEBKIT     DETAILS
========================================================================================
** TOTAL **: 5.79x as fast 4832.2ms +/- 1.7% 834.6ms +/- 4.1% significant

3d: 5.28x as fast 570.6ms +/- 1.3% 108.0ms +/- 4.5% significant
access: 12.0x as fast 810.4ms +/- 2.6% 67.8ms +/- 2.4% significant
bitops: 24.8x as fast 752.6ms +/- 1.5% 30.4ms +/- 2.2% significant
controlflow: 15.5x as fast 68.0ms +/- 0.0% 4.4ms +/- 15.5% significant
crypto: 7.62x as fast 289.4ms +/- 4.8% 38.0ms +/- 2.3% significant
date: 2.11x as fast 297.8ms +/- 3.6% 141.2ms +/- 3.1% significant
math: 7.70x as fast 554.6ms +/- 1.3% 72.0ms +/- 7.7% significant
regexp: 10.7x as fast 425.6ms +/- 8.2% 39.6ms +/- 6.1% significant
string: 3.19x as fast 1063.2ms +/- 4.1% 333.2ms +/- 9.0% significant

It's just amazing how much faster webkit is than gecko... I may be replacing my firefox with this...

I mean, those crazy Javascript speeds + the upcoming WebGL standard is going to be awesome! :D

Random Ebay Thingermabobber

Have you seen the 'Packages' strip of XKCD? If not, check it out here: http://xkcd.com/576/.

Well, that comic's idea seemed so awesome, that I decided to write it... sort of...

My script will print out a random item from ebay that costs less than $5.00, that has free shipping, and that will let me "buy it now". I think it's pretty cool, but I'm not yet giving it access to my credit card, since there are a whole bunch of items out there where I have to contact the seller before bidding, since they want me to sign up for Verizon, or something... :(

I'm going to keep tinkering with this script. Hopefully, I'll get it to such a state that it can filter out items where I'd have to contact the seller first, and such... Then, and only then will I teach this baby to buy. :)

Anyways, enjoy the source. License is GPL 3.

Click here for source

Find any bugs? Made an improvement? Email me, please. :)

← Previous  1 … 8 9 10 11 12 13 Next →

About

User