Archive for the ‘Geeky Rants’ Category
Installing Windows 7
It’s been awhile since I posted last. Most of my life has been pretty mundane and nothing really postworthy has occured, aside from getting a few job interviews. Actually, shortly I should be hearing back about a second interview as a PHP developer for a fairly local eLearning company.
I have just recently taken advantage of a deal to get Windows 7 Professional [upgrade only] for $29.99. I bought it and spent the rest of the night downloading. By the time I woke up, the download was done. However, I discovered that it wasn’t an ISO disc image Like I had expected, rather it was an executable with a folder and two .box files. Is is kind of aggravating as I wanted an image so I can burn a few backup discs and all that. But, conveniently during my normal news perusal I found an article on Lifehacker which helped me convert the files into a bootable disc image. Dude, it’s like magic!
However, I ran into some issues along the way during the install/upgrade. First off, I wanted to do an in-place upgrade.. meaning I don’t lose all my data and my installed programs. Turns out, since I had Windows Vista Home Premium I could upgrade to Windows 7 Professional using this disc, however I could not do an in-place upgrade, only a custom install, which results in losing all my files, install programs, settings et cetera. This was annoying, but I backed up all my data (music, pictures, et cetera) however, I’ll still have to re install all my programs again. Aggravating.
But that’s going out of order. At first, I didn’t know I couldn’t upgrade, because I had problems getting to the upgrade screen. First, I booted up from the DVD I created, however clicking the upgrade button demanded that If i want to upgrade, I have to run the CD from within the installer. Ugh, I just wasted 10 minutes in the shutdown, restart, screen navigation just to have to go back into the OS. Ugh. So it takes me 10 minutes to reboot (Vista has been taking FOREVER lately.. gosh) back to my desktop. I run the executable provided by Digital River, and I first get a splash screen.
I click “Install Windows” (exciting!)
I get a screen that says “Copying Temporary Files…” and then “Setup is Starting…” But that’s it the screen doesn’t update for about 5 minutes. I quit, and restart. Same thing, this time I wait 10 minutes. Still nothing. Then I thought “I’m being impatient, I’ll let it sit.” So while I sit watching COPS 2.0 on G4TV, I let it sit at the Setup is Starting screen. It’s still not progressing after an hour!
I turn to my good ol’ friend google and try a few queries. I found a few people with the same problem, some unresolved, some resolved but the solution seemed irrelevant (It wasn’t a problem with my harddrive or motherboard.) Then I found an article on Microsoft’s knowledgebase. It said something about “This screen is the stage Windows is checking your hardware for compatibility.” Then for some reason, a lightbulb goes off in my head. I look down and notice how my zune data cable (with no zune attached!) was plugged into my computer. Sometimes I’m in a rush in the morning before work and I don’t unplug the zune datacable, just the zune itself.
So I remove the ‘empty’ USB cable. The moment I did that that, my install screen advanced to the “Would you like to check windows update for updates before completing install?” screen. TADAA! Three hours for a damned deviceless USB cable. I honestly never even thought it would care about a cable plugged in with no device. I take it that’s probably a bug in the installer. It’s checking for hardware components and it gets stuck in loop while it waits for a device to registered. Oh well. Good job Microsoft.
So, I click through all the screens and I see the coveted “What kind of install do you want to do, young padawan?” screen. I click upgrade, because I want to keep all my stuff intact. However, I’m immediately greeted by a message saying “Windows Vista™ Home Premium cannot be upgraded to Windows 7 Professional. You can choose to install a new copy of Windows 7 Professional instead, but this is different from an upgrade, and does not keep your files, settings, and programs.” Ugh. I spent 3 hours trying to get to the upgrade screen, only to be told I can’t upgrade. Ugh. isuehfgudehgeiuhtiuehteiutahtiuerghsgihua. Okay. I’m done.
So, I reboot, again, and boot from DVD. Then I do a custom install. The install procedure was actually fairly quick. Once I was in, I liked what I saw. Everything is cleaner and faster. When idle and not running applications (called the baseline) the OS used less than a gig in RAM. While I remember Vista using one gig when idle. It’s a nice operating system.
So I take time and copy all my backed up data back to my folders… all my music and pictures and such. Sweet. There are a few annoyances I have that I’m still ironing out, for example, everytime I enter a link in internet explorer (havent had time to download firefox yet), I get a feedback sound effect. Yeah, gonna have to disable that.
All in all, it’s a pretty good operating system. I immediately switched my taskbar back to not group similar windows into one icon. It makes it quicker to get to the exact window i want. Maybe I’ll get used to the combined feature one day.
Another thing I wanted to mention was an issue i had with DIgsby. I love digsby, it’s awesome. It’s the first thing I downloaded (yeah yeah, shoulda gotten Firefox first, oh well). However, apparently there’s this issue with Digsby when using a brand new account on Windows 7. Basically, it’s not detecting full screen applications right, so as a result, Diggsby is incorrectly hiding IM windows. To fix this, go to your preferences, and make sure to uncheck “Hide IM windows when full screen window is active.” This will fix this. From what I understand, this glitch only occurs when the windows account is brand new. How new is defined, I’m not sure. The guide I read said “about 1 hour.” But there you go.
Over the next couple days I’ll be going through and experimenting and optimizing it to my needs and comfort.
Hard Drive File Repository Project
Hi.
So uh.. I’ve been downloading media on my laptop since I’ve had it. Well, over time it’s taking up space on my pathetic 140-or-so GB laptop harddrive.
So, I had an idea.. my employer is getting rid of computers that are many years old (asset tags start with 17, I think we’re issuing asset tags that start with 26 now). Since they are throwing them away, why not take the harrdrives out and put them to use?
So after a few minutes and 4 computers, I end up with:
Four IDE harddrives of different brands (Maxtor, Western Digital, Seagate) and different sizes. The total size is 200 GB. Of course, these hard drives came out of discarded computers that have been thrown around from shelf-to-shelf, room-to-room, so there’s a possibility that some/all of them might not even work. Just now, I got some more harddrives that were sitting out in a discard box. These are even more likely to be broken, but it’s a possibility at free harddrive space, so why not? One of the harddrives I just grabbed is a SATA HDD, while the rest so far are IDE. I gotta make sure I note this
I’ve bought a single external harddrive from newegg that I’m going to use on the largest IDE drive. Then as I start consume more space, I’ll buy a new external and slowly fill up the drives. Then I’ll name or number them so I can make an index of what file is where. So if I’m in the mood for a certain type of media, I know which drive to mount to.
Sadly, I have to wait until wednesday before my external drive comes. For now the drives are sitting on my kitchen table.. waiting.
Google Voice [Semi-]Released!
Google has just announced the release/rolling out of Google Voice. Expectantly they are slowly rolling it out to people who’ve requested an invite previously. I don’t know how long it will take for me receive an invite, but I’m super excited.
I’m tempted to request the phone number of (xxx) VRY-SEXY.
Dude, I so totally should.
PHP Datatype Validation
So, let’s say that you’re writing a function or some sort of script. and you need to sure you’re only getting a certain datatype as a value. Then you realize that PHP has no actual datatype enforcement like C or C++. You can set any variable to contain any kind of structure (strings, integers, arrays, etc) and you can later change it to any other structure later on the fly. This can be problematic depending on what you need to do.
With the function you’re supposedly writing, let’s say you wanted to make sure a argument you’re accepting via the PHP call is an integer. Well you could perform and is_int() function call by yourself, but thats not the point. The point of functions is to reduce tedious/repeated code. I made a class that has a function inside it that does all the testing for you depending on what you, as a coder, is expecting. So passing “hi” into the validator when you specify you’re looking for an integer wouldn’t pass. It would pass if you stated you were looking for a string, though.
What’s also nifty is that i wrote it to accommodate for the event of expecting multiple kinds of datatypes. Like let’s say you want either an integer or a double (a decimal), you can simple combine them when you call the validator. If the value you give the validator is an integer or a double, it’ll spit back the datatype.
Okay, how do I have it check for datatypes? Every datatype that I could look for is assigned a number in base 2 (1, 2, 4, 8, 16, 32, etc) . I assign them base 2 values in hex, simple because I felt like it.
define(“SCRAPBOOK_DATATYPE_STR”, 0×01); // STRING
define(“SCRAPBOOK_DATATYPE_ARR”, 0×02); // ARRAY
define(“SCRAPBOOK_DATATYPE_INT”, 0×04); // INTEGER
define(“SCRAPBOOK_DATATYPE_DOUBLE”, 0×08); // DOUBLE
SCRAPBOOK_DATATYPE_STR is set to 1, _ARR is 2, etc etc. You get the point. When I call the function, the first argument/parameter is the value I need to test. The second is the (possible) datatype(s) I’m expecting. What you may or may not know about bit addition is that its very easy to figure out what bits are included. For example, the value of 6 is ONLY made up of 2 and 4, which in this are the bits that are assigned to _ARR and _INT. Using this logic, we can pass multiple datatypes we might get (for example, we want a number which might be an integer or a decimal) and the function can check to see if the datatype of the value I’m checking for matches one of the datatypes I’m looking for.
Here is an example of looking for one datatype and then two datatypes:
//first instantiate the object
$validate = new Validator();//would return SCRAPBOOK_DATATYPE_ARR
print $validate->validateDatatype(array(), SCRAPBOOK_DATATYPE_ARR).”\n”;//would return SCRAPBOOK_DATATYPE_INT
print $validate->validateDatatype(5, SCRAPBOOK_DATATYPE_INT|SCRAPBOOK_DATATYPE_DOUBLE).”\n”;
//would return SCRAPBOOK_DATATYPE_DOUBLE
print $validate->validateDatatype(5.3, SCRAPBOOK_DATATYPE_INT|SCRAPBOOK_DATATYPE_DOUBLE).”\n”;
As you can see, the pipe (|) is used to add multiple of these bits together. The function would return the bit of the dataype found. this way if you’re expecting two datatypes, you can validate it and then see the exact type that was actually sent in.
Now how do i actually do the tests? well in the function I have something like this:
function validateDatatype($value = NULL, $expectedtypes = SCRAPBOOK_DATATYPE_STR)
{
//are we testing if this datatype exists? || now we test!
if ( ($expectedtypes & SCRAPBOOK_DATATYPE_STR) && (is_string($value)) )
return SCRAPBOOK_DATATYPE_STR;
if ( ($expectedtypes & SCRAPBOOK_DATATYPE_ARR) && (is_array($value)) )
return SCRAPBOOK_DATATYPE_ARR;
if ( ($expectedtypes & SCRAPBOOK_DATATYPE_INT) && (is_int($value)) )
return SCRAPBOOK_DATATYPE_INT;
if ( ($expectedtypes & SCRAPBOOK_DATATYPE_OBJECT) && (is_object($value)) )
return SCRAPBOOK_DATATYPE_OBJECT;
Essentially, i’m testing to see if we’re asking for each datatype, if we are asking for that datatype, i perform a function call to see if it actually is. If it’s not it keeps going until it returns something. if it gets to the end of the function, that means it didn’t validate, so false is returned. The (x & y) test basically checks to see if bit y exists within value x. So again, for example, lets say you have a number 13. The only way to get a number 13 through this method is with numbers 8, 4 and 1 (8+4+1 = 13). So if you did (13 & 4) it’d return true. So on and so forth.
Ok, now that I gave you little snippets, check out the entire script so you can see how it all blends together.
Apple Allows Browsers In AppStore .. With a Catch
Apple has seemed to open its gates in the AppStore in regards to the “Duplicate Functionality” rule.
You see, there is a rule (graded at Apple’s discretion, of course) that says you cannot make an application for the iPhone/iPod Touch that duplicates native functionality. In the business scope, this makes sense. They don’t want their work duplicated as it would deter people from using their stuff. From a developer’s standpoint, it’s a very frustrating rule – it minimizes the ability for the software concepts to evolve.
However, as of late, Apple has quietly started allowing browsers to be added on their catalog. What’s the catch? Oh… well you see… the browsers must be based on the Safari codebase. Simply put, it basically must be an extended version of safari made by the developer. There are a few browsers already, for example Cognito, which allows you to browser the internet without leaving a local history.
Apple might be doing this so it does not lose any market share. So for now, no firefox, chrome or opera functionality.
Baby steps, I guess.
Something… But Not Quite Nothing
Jonathan has brought me aboard to publish great reviews and cutting room floor information about the latest and greatest technology. Later on this month, I will be writing a lengthy review for Microsoft’s newest piece of work, Windows 7, as well as reviews about and new games that will crop up this year, plus any new pieces of hardware I can get my hands on.
Make sure to check back here later on, as I’ll be making more posts about more awesome stuff
Botched Windows 7 Beta Release Means Windows 7 Beta For All
I’m a little late to the game, but meh.
This past friday, Windows released Windows 7 Beta for public release. However, due to unanticipated (well, should’ve been anticipated, anyway) demand, the world brought the windows 7 web and distribution servers to their knees. There was a large amount of downtime involved due to the overwhelming load placed on Microsoft’s webserve division.
Honestly, I think Microsoft needs to think their launch strategy, including having mirrors and also distribute through torrenting. Someone please deliver a clue to their main office, please.
However, Windows 7 has restarted the download process and an because of the epic failure, has removed the previous download cap of 1.5 million downloads, and is now allowing unlimited downloads of the beta. I suggest that anyone interest grab one before something changes.
I haven’t personally gotten around to getting windows 7, but I will once I have a machine to put it on. I might put it on my old work computer.
T-Mobile Rants
So awhile back, I switched from Sprint to T-Mobile. It started out with me needing to get a new charger for my sprint phone because mine was lost and I couldn’t bring my mom’s charger with me when I went to South Carolina. I then walked out with a new plan on the T-Mobile network.. and a new phone. But I’ve had some grievances.
First, let me say the good thing. Their customer service for the most part is simply amazing. Their reps are always nice and do seem to care about you. One time I got an extra 300 minutes for the current pay period after talking to the representive. That was pretty cool. But again, they are really polite and ask you about your day. Friendliness is really important. Good job T-Mobile.
Now some caveats. The reception is horrid. I don’t get service in my house. Except on the arm of my couch I am sitting on now. And that’s sporadic. I also sporadically get service in my bed room on the first floor. As for the basement.. where the TV and comfortable couch is? Not a shot. Even places outside, I don’t get reception on certain places of my porch and even the sidewalk outside my house. In my office, I barely get reception, I usually have to leave my office and go into the hallway to make or receive phone calls.
Second thing is their network infrastructure. I have a question, when you call someone and they don’t have service, what do you expect to hear? Their voicemail? A busy signal? With T-Mobile, if a subscriber unexpectedly leaves the network (ie, loss of signal, battery dies), any calls received don’t go to voicemail. At least not usually. More often than not, people get a busy signal. Only after an extended time of not having service does the network decide “oh, this person is unavailable, route callers to voicemail.”
You see, when you turn on your phone, your phone probably says “Registering with network” or something to that effect. This is your phone saying, “Hi, i’m a phone. I’m apart of your network. this is information about me.” The network keeps track of your “position” (which cell tower you’re on, etc) and the like. Now, if you shut of your phone (while you have service), your phone tells the network that it is leaving. Now people will be directed to voicemail immediately. If you lose service (or otherwise adbruptly leave the t-mobile network), the network still thinks you’re “there.” So when someone calls, it sends the caller to nothingness, hence the busy signal. It’s quite horrible. Especially when I’m in my house and my dad is trying to call me to find out what I want for dinner. Boo T-Mobile.
I have unlimited text messaging. I can text any US (maybe canadian?) numbers as many times I want (up to like 3,000 per month or some “acceptable fair use” amount). This is cool. I can’t dial short codes. These are the “send a text to #### for your vote” type services. This means I can’t a) request songs at my local radio station b) I can’t use twitter via my mobile device (the way it is intended to be used) c) i can’t use facebook via my mobile device. I try sending a text to one of the respective services, and I get a reply instantly back saying something to the effect, “This feature is not included in your service plan.” T-Mobile, come on, throw me a friggen bone here. So now I have to pay an extra $5.99 for “unlimited internet access” so I can use twitter and facebook via the web, instead of text messages. Kind of irritating. I’ll be starting that in my next pay period. Boo T-Mobile.
Okay, this problem probably effects many carriers. I don’t know. I want the ability to block certain numbers from calling/texting me. I mean really, I was getting texts from this.. person.. and I had no idea who they were. I called customer service and asked if I could prevent this person from texting me. Their suggestion? “We could change your number for $15.99 that has to be paid upfront.” Seriously. How hard is it to add that to the network structure? Simply a check to see if incoming data (whether it be SMS/MMS/phone call) is coming from a phone number that is on the intended recipient’s block list. Boo T-Mobile.. and probably most providers.
So I think in a year and half when my contract is over, I’ll be getting an iPhone. Maybe. The plans are a little expensive. We’ll see.


