Brand new laptop: Dell XPS M1530

Dell XPS M1530
Just bought a new laptop and it should be here by the end of next week when I get back from NYC. I’m headed down to see my girlfriend again…yes, yet again. This is my gift to myself for graduating from college. 7 days and 6 nights with my girl…can’t wait!
Here’s the specs of my brand new Dell XPS M1530:

  • Intel Core 2 Duo Processor T8300 (2.4GHz/800MHz FSB, 3M L2 Cache)
  • Tuxedo Black Casing
  • 4GB of DDR2 RAM at 667MHz (2 Dimms)
  • 15.4 inch Wide Screen WXGA+ TrueLife LED LCD with 2.0 MP Camera
  • 256MB NVIDIA GeForce 8600M GT
  • 320GB 5400RPM SATA Hard Drive
  • Microsoft Windows Vista with SP1 Home Premium Edition 64-bit Edition
  • 8X DVD+/-RW Slot Load Drive
  • Dell Wireless 1505 Wireless-N Mini-card
  • 6-cell (56 WHr) Lithium Ion Battery
  • Finger Print Reader
  • Dell Wireless 355 Bluetooth Module (2.0+EDR)

Needless to say I’m extremely excited! :)  I’ll post some type of review with screen shots once I get a chance to get it all set up and fine tuned.

How to download any song from Favtape.com

I’ve had my doubts about posting this information because quite honestly I’m a big fan of Favtape.com and I don’t want to see them get in trouble and/or close. That being said, I suppose it can’t hurt that much to put this information out there. Here’s a quick and simple way to download any song that you can play on Favtape.com

  1. Use Firefox (it’s not required but we all know that when you use IE god will kill kittens).
  2. Go to Favtape.com (duh) and find a song that you want.
    FavTape.com songhover
  3. Click the name of the song to begin playing it.
  4. When you hover over the name of the song you should see something like this in the status bar: http://favtape.com/play/**Artist**/**Song**.mp3  (**Artist** and **Song* obviously replaced with the appropriate information). Click on the image to the right if you don’t understand what I just said.
  5. Now you can’t simply right click and “Save link as”. You actually can’t right click at all. So how do you get the MP3 file?
  6. Method 1 – no tweaking involved:
    1. Open a new tab in Firefox (control + t).
    2. Click + hold the Artist – Song Name and drag this onto the new tab you just created.
    3. That’s it! The song should not start to download, but you’ll need to rename it because it’ll save as “fetch.mp3”.
  7. Method 2 – tweaking the Firefox settings:
    Click for full size

    1. In Firefox goes to Tools –> Options
    2. Go to the “Content” tab
    3. Find “Enable Javascript”. To the right of this you will see “Advanced” click on this.
    4. Find “Disable or replace context menus”. Uncheck this box.
    5. Click “OK” and then “OK” again.
    6. Now you can right click on the Artist – Song Name and select “Save link as”.
    7. That’s it! You can now just save the MP3 file we saw in the status bar earlier.
    8. Important Note: You may want to re-enable the “Disable or replace context menus” option because many web applications use this functionality.

Interesting Links 5.30.08

  • TimesMachine – New York Times – TimesMachine can take you back to any issue from Volume 1, Number 1 of The New-York Daily Times, on September 18, 1851, through The New York Times of December 30, 1922.
  • SuperLame! Comic Word Balloon Engine – Simply add speech bubbles to photos you upload. Useless? Sure, but fun.
  • Introduction to CSS3 – Part 4: User Interface – CSS3 brings some great new properties relating to resizing elements, cursors, outlining, box layout and more.
  • Introduction to CSS3 – Part 5: Multiple Columns – CSS3 introduces a new module known, appropriately, as multi-column layout. It allows you to specify how many columns text should be split down into and how they should appear.
  • Design Critique: Blog Platforms – Most designers are familiar with the relative pros and cons of different publishing tools – but what about the websites of the blog platforms themselves?
  • TinySong – type a song, get a link, share the full song with your friends. It’s really that simple. Works great for those “have you heard this song?” moments.
  • Adobe Labs – Adobe has released the first betas for Dreamweaver CS4, Fireworks CS4, and Soundbooth CS4. Note: betas only work for 2 days unless you have an existing CS3 serial number.
  • Fixing Twitter – I am getting sick of talk about twitter and it’s scalability problems and also frankly unqualified people slagging the service for it’s unreliability and also coming up with stupid ignorant answers to how it should be fixed.
  • Read at Work – it looks like you’re being productive, but you’re definitely not. Kind of funny, but I can’t imagine actually using it.

Interesting Links 5.16.08

Baby's First Ruby App

So I’ve begun to learn Ruby (for work), and I thought I might share a little bit of my progress so far. Progress might be an exaggeration considering how basic this application actually is, but at least I’m slowly but surely moving in the right direction anyway.

So here’s the 1st part of it:

   1:  #GET INPUT
   2:  puts "Please enter a number"  
   3:  STDOUT.flush  
   4:  num1 = gets.chomp.to_i
   5:   
   6:  puts "Please enter another number"  
   7:  STDOUT.flush  
   8:  num2 = gets.chomp.to_i
   9:   
  10:  puts "Please pick the type of operation:
  11:  (A)dd
  12:  (S)ubtract
  13:  (M)ultiply
  14:  (D)ivide)"  
  15:  STDOUT.flush  
  16:  oper = gets.chomp
 

So here we’re asking the user for 2 numbers, cleaning up the input, and then storing it into 2 variables (num1 and num2). We then ask the user to select which type of mathematical operation they’d like to perform (addition, subtraction, multiplication, or division).

The 2nd part:

   1:  #SELECT THE OPERATION
   2:  if oper == ("a" or "A")  
   3:          add(num1, num2)
   4:      elsif oper == ("s" or "S")
   5:          subtract(num1, num2)
   6:      elsif oper == ("m" or "M")
   7:          multiply(num1, num2)
   8:      elsif oper ==  ("d" or "D")
   9:          divide(num1, num2)
  10:  end

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

So here we’re deciding what we’re going to do with our 2 variables (num1 and num2) based on the users selection. If they enter “a” or “A” (for example) we will then execute the method called “add” on line 3. Speaking of these methods…

The 3rd and final part:

   1:  #DEFINE THE METHODS
   2:  def add(num1, num2)  
   3:    sum = num1 + num2
   4:    puts "#{num1} + #{num2} = #{sum}"
   5:  end  
   6:   
   7:  def subtract(num1, num2)
   8:      if num1 > num2  
   9:        diff = num1 - num2
  10:        puts "#{num1} - #{num2} = #{diff}"
  11:      else
  12:        diff = num2 - num1
  13:        puts "#{num2} - #{num1} = #{diff}"
  14:      end
  15:  end  
  16:   
  17:  def multiply(num1, num2)  
  18:    prod = num1 * num2
  19:    puts "#{num1} X #{num2} = #{prod}"
  20:  end  
  21:   
  22:  def divide(num1, num2)  
  23:      if num1 > num2  
  24:          div = num1 / num2
  25:          puts "#{num1} /  #{num2} = #{div}"
  26:      else
  27:          div = num2/num1
  28:          puts "#{num2} /  #{num1} = #{div}"
  29:      end
  30:  end 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Each one of these methods (starting on lines 2, 7, 17, and 22) perform a particular set of functions based on the variables that are being passed in (num1 and num2). These methods are called based on the earlier code (part 2) that selected which method applied based on which of the mathematical operations the user selected. The 2 numbers that the user entered are passed into that method, some type of calculation is carried out, and then the result is displayed to the user. In the case of subtraction and division, I elected to add an additional step that would determine which of the 2 entered numbers was larger, and then it would order the calculation accordingly so as to not return a negative number (but this is purely optional).

To recap, and provide a plain English flow of how this happen in this simple little application: the user enters 2 numbers, and then they select a mathematical operation. Based on that operation we go through a series of checks to match which operation was selected, the 2 numbers entered by the users are passed to the method, and then we enter the applicable method. The method then performs the necessary calculations and displays the output to the user.

Pretty simple, not exactly rocket science, but it’s a start at least. I wanted to play with conditional statements a bit, as well as creating and calling my own methods. Next up will be to continue to experiment with arrays and hashes.
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

A New Chapter: Things to do this Summer

I thought I’d briefly update what I plan to accomplish this summer. The semester is finally finally done and over with (see my recent post regarding the ridiculous amount of things I needed to finish in the past 3 weeks).

  • Reinstall Windows Home Server (WHS). Never mind, not going to reinstall.
  • Read “Head First SQL”.
  • Read “A History of God”. Never mind, this looks to be quite boring.
  • Read “The Hobbit or There and Back Again”. DONE
  • Have some type of relaxing vacation.
  • Decide if I will keep my web hosting.
  • Reinstall XP on my desktop because Vista sucks (even with SP1).
  • Rewrite my current blog theme from scratch (it’s using tables right now…ick!). Never mind, not applicable any more.
  • Update my laptop to Vista SP1 (why not reinstall XP? don’t ask). DONE
  • Work related: apparently I’m going to be learning Visual Basic this summer. We’ll see.
  • Work related: I also may be learning Ruby on Rails (jRails specifically). We’ll see.

Interesting Links 4.4.08

An interesting collections of links, primarily aimed at CSS this time. I can’t wait for this semester to be over with so I can get back to some web design. I am so behind in terms of things I want/need to read at this point.

Interesting Links 3.7.08

I apologize, but I am far too lazy to write a blurb about each one of those links. I’ll just leave it at this: IE8 Beta 1 is a step in the right direction, TeamViewer kicks ass for remote computer support, and the 6 animals that can destroy you is hilarious to read.

Redux: Things to do when this semester is finally over

My list of “things to do once the semester is over” keeps growing in length so I thought I’d just I’d add them on:

  • Reinstall XP on my desktop because Vista sucks (even with SP1).
  • Rewrite my current blog theme from scratch (it’s using tables right now…ick!).
  • Update my laptop to Vista SP1 (why not reinstall XP? don’t ask).

Interesting Links 1.25.08

  • PDF Hammer – PDF Hammer is a website that allows you to edit your PDF files online for free.
  • Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 – When a new version of that browser comes along and fixes bugs or misinterpretations of the spec (or introduces new ones) or in any way changes behavior, sites break and our clients, bosses, and users get very unhappy.
  • From Switches to Targets: A Standardista’s Journey -This actually makes browser vendors more susceptible to pressure to fix their bugs, and less fearful of doing so. That’s huge, as fundamentally game changing as was DOCTYPE switching, but on an ongoing basis.
  • Better Email Links: Featuring CSS Attribute Selectors  – We can use this similarity between links to our advantage, so that we can apply CSS styling to only email links.
  • Understanding CSS Colour modes – CSS 2 and 3 offer a number of different ways to pick colours. While everyone knows the hexadecimal notation, fewer people know the RGB notation and colour keywords, and the new colour modes that CSS3 introduces are still a riddle to most.
  • Draft of HTML 5 Hints at a Brave New Web – HTML 5 presents a major change from HTML 4, and it will still be a long time before you’re likely to see HTML 5 markup in your browser.
  • HTML 5 – W3C Working Draft 22 January 2008. This is the draft straight from the W3C. Not the easiest thing to read/understand, but certainly a great resource (obviously).
  • HTML 5 differences from HTML 4 – HTML 5 defines the fifth major revision of the core language of the World Wide Web, HTML. This article describes the differences between HTML 4 and HTML 5 and provides some of the rationale for the changes.
  • HTML5 Shiv – Assuming that it’ll be a while before most browsers attempt to implement most of HTML 5 we need to start thinking of ways to tackle the creation and rendering of HTML 5 components in the meantime.

Perhaps you figured out the pattern for these links (except for the PDF hammer link)? The HTML 5 draft was finally released on the 22nd of January. The web has been a twitter with this and the fact that Microsoft has said that Internet Explorer 8 will include a “super standards” mode. The key is that this standards mode will require a particular META tag to enable this type of rendering. This has also sent the web into a frenzy because people are claiming that this will destroy progressive enhancement. The truth of the matter, as Eric Meyer points out, is that this will not be a detrimental change. The key moving forward will be that your websites will theoretically continue to work exactly how you coded them for the foreseeable future. In theory, even if we’re all using IE10 your website that was designed for IE6 will still render just fine. The other point that Eric makes is that browser vendors will be able to implement new web standards much more quickly now that they’d no longer need to fear breaking millions of websites. Essentially current websites would remain untouched by new changes to IE’s rendering engine. Unless the developer specifically codes the website to use the new render engine, which we can assume means that the developer has tested the page for issues, it would default to the legacy rendering engine that has proven to work. This is really a good thing for web designers, web standards supporters, and browser vendors.