Look, there’s more Skype Challenges out there!

Skype Challenge by Obsidian No Comments »

I suppose we’re not the only ones interested in replacing our cell phones and landlines with a single phone. Nick Randolph’s got a few great articles comparing the differences between the different services offered by Skype (SkypeOut, SkypeIn, Skype Voucher), and more of the hurdles that Nick (our NicK) may not have addressed in his evaluation. Of course, we’re all patiently waiting for Nick’s (our Nick) final conclusion on the matter.

More on Articles & Reviews

BIOS LEVEL by Obsidian No Comments »

Finally back with some progress updates (I’ve managed to tear myself away from World of Warcraft, evil thing…). Once again, I’m focusing on the Articles & Reviews section, for some hopefully obvious reasons.

“Read More” linking to the article’s URL now pops up. The URL is more or less the same, but with the article’s id (a unix timestamp) thrown on the end.

http://www.bioslevel.com/index.php/reviews/aid/1167847140

Ideally, I want to get around to editing the whole system so something like the following works:

http://www.bioslevel.com/reviews/apples_2007_domination

It wouldn’t be too hard to, just a little modification of the code and .htaccess. I’m not going to worry about it for now, as we should be focusing on the content and overall site appearance first.

Once you click on the “Read More” link, the article’s title pops up. Also, the location on the top bar is altered to reflect your new location, tracing all the back from each child category to the site’s front page. The CSS needs adjusted to make the link colors for these more appealing, but you get the idea of what it’s doing. Thusly, depending on how late I stay up tonight and how early I wake up tomorrow, we could have a “working” reviews section by the weekend.

Stay tuned!

To Sub-Categorize or not to Sub-Categorize

BIOS LEVEL by Obsidian 1 Comment »

So I’m sitting here working on the updates I promised and I have a dilemma. The update in question is the reviews section. Why am working on that section over others? Because once it’s done, regardless of the rest of the site, we can start posting content and driving traffic. And then you ask what the dilemma is, and I answer: How far should one sub-categorize?

This blog for example, only has 1 level of categories. At the moment, our reviews section has 2. From the “base” category, to sub-categories of the base, to sub-categories of that level.

  • hardware
    • videocards
  • accessories

How far do I go down? Do I break Videocards down by Chipset, Chipset by Vendor? I don’t anticipate people to look that in-depth, nor do I expect to have a great variety of similar products from different brands. So is the “videocard” category complete as is?

Should I choose to break it down farther, or at least leave the option to break a category down as far as possible in the future? The issue comes in with the code involved. The database is simplistic: Category ID, Parent, and Name. That should be self-explanatory. But when trying to retrieve all children, you’re going to end up relying on either several loops, or some recursion in your code.

 function getChildren($id,&$db)
  {
    $cats = "";
    $parent = $id;

    $sqCat = "SELECT id,title FROM acats WHERE parent = $id";
    $qCat = $db->query($sqCat);

    if (DB::isError ($qCat))
     die ("SELECT failed: " . $qCat->getMessage () . "<br/>" . $sqCat . "<br/>" . $id[3]);

    while ($rCat = $qCat->fetchRow())
    {
      if(!($cats == ""))
      {
        $cats .= "|";
      }
      $cats .= $rCat[0] . ":" . $rCat[1];
    }

    // id:title|id2:title2
    return $cats;
  }

So the above function pulls all the children of category $id, if any. This is a shortened version of what I’m using currently, there are no checks in it, nor a control to keep the string in line (note the “:” that will appear on the end). Regardless of features, it works the same for our purposes. Now we need some code that will call upon getKids() for all the categories.

  function showCats($id,$db)
  {
    $sRet = "<ul>";
    $children = getChildren($id,&$db);
    $i = 0;

    while( ($kids = explode("|",$children)) && ($kids[$i] != "") )
    {
      $parts = explode(":",$kids[$i]);
      $sRet .= "<li>$parts[1]"; // shows the name

      if($parts[0] != "")
      {
        $sKids = showCats($parts[0],$db);
        if ($sKids != "<ul></ul>")
        {
          $sRet .= $sKids;
        }
      }

      $sRet .= "</li>";
      $i++;
    }
    $sRet .= "</ul>";

    return $sRet;
  }

So, this second function is designed to format the information we got from getKids() and display it in an unordered list. At the same time, for each item returned to us by getKids(), it calls itself to check for children of each category all the way down the list. This should be an effective way of future-proofing our category system, allowing us to add as many sub-categories as we wish. Then it will just be a question of sanity and user-friendliness.

On a side note, I wrote this post to reason out the code needed to achieve this purpose. =P

To Digress

BIOS LEVEL by Obsidian No Comments »

Before Nick writes his final report on his Skype Challenge, I’d like to make mention that Pittco just held its 7th event over St. Patrick’s Day. It was a great time, and I think we broke record attendance, though we’re not sure due to a malfunction in our software. Anyone that missed it (Brian) is a loser. =P

On a more serious note (not that Pittco isn’t serious), I’ve become engrossed in Unreal Tournament 2004. It’s been sucking up all my free time, and I apologize. The other PHP developers are all off on their own adventures as well:
* Colin: Senior Project (college)
* JD: Job and being a senior (college)
* John: School web-work and… uhhh… right.

So that leaves me, right? And if I’m stuck in Unreal Tournament, then I guess we’re just screwed. No, but really, we are progressing, albeit slowly. I’ve made a few adjustments today, mostly just altering how fonts are displayed in certain sections. I also fixed up the “About Us” page. It’s still a little plain, so I feel like I have to add some background colors. I’m not sure, though. Thoughts?

Hopefully there’s more done by the end of the weekend.

Skype Challange: Bandwidth

Skype Challenge by Nicholas Wolfgang No Comments »

Skype Phone
Using my DD-wrt router and a bandwidth monitor that works with the router, called Rflow, I measured how much bandwidth the Skype phone uses. It uses anywhere between 5 to 10 KBps. Checking the Skype website they say the Skype service uses 3-16KBps (link). Just as a side note it is possible for Skype to use all of your bandwidth. From Wikipedia:

“Skype also routes calls through other Skype peers on the network to ease the traversal of Symmetric NATs and firewalls. This, however, puts an extra burden on those who connect to the Internet without NAT, as their computers and network bandwidth may be used to route the calls of other users.”

Here is my results in a nutshell. At a bandwidth usage of 5-10KBps of up and 5-10KBps down The Skype call came through clearly. I have Comcast cable in the Philadelphia area and I only get 40KBps up. So Skype is using a 1/4 of my up bandwidth. I then share that connection with 4 other people. So that explains why I am unable to make Phone calls some times.

Look for my final write-up later this week.

Skype Challange: Software Crashes

Skype Challenge by Nicholas Wolfgang No Comments »

Skype Phone
Just when I feel that I can use this technology in my life I get reminded how early of a generation it still really is. It makes the calls great, it receives the calls great, but it locks up. The other day I left it in my bag when I got to work. I pull it out and hour later and found out it locked up. Well when it locks up it eats up the battery like nothing else and its been like this way for two hours I guess. So the Phone was dead. Really this device you have to have a charger with you at all times and you have to check it to make sure it works every few hours. I wonder if the non wifi models have the same locking up issue?

Skype Challange: Free Wifi Part 2

Skype Challenge by Nicholas Wolfgang No Comments »

Skype Phone
I went back again to Reading Terminal Market. This time I went with my orinico wifi card and Linux laptop. I spoofed the mac address of the laptop so that it matched the skype phone. This allowed my laptop to impersonate the skype phone and authenticate on the access point. After it was all said and done the laptop was able to surf. The Skype phone how ever was completely unable to connect. I guess the access point has some additional security.

Also the battery life on the phone so far is annoying. The phone must be charged every night to have enough battery to get through the next day. I forgot to put it on the charger last night so its been dead all day. Wifi is a very power hungry technology so that’s why you don’t get great battery life. I really wonder how they will pull it off when the wifi enabled cell phones come out.

Lastly next week I will have to give up the Skype phone. So until then I’ll keep trying it out. If any one wants me to do any other tests just leave a comment!

Skype Challange: Free Wifi

Skype Challenge by Nicholas Wolfgang No Comments »

Skype Phone
The past few days have been very busy, but I have made progress with the Skype phone. I went back to the free wifi at Love Park and attempted to get on with the phone. Again I had no luck. This time I brought my laptop along and I quickly realized that the wifi in the area was down. Determined to get on I headed over to the lovely Reading Terminal Market. They have free wifi but with a different provider. The phone again was unable to get on. So after firing up the laptop I noticed that it required you to click through a web portal first. This problem of the phone not being able to get onto a browser authenticated wifi is a problem. I can see two solutions to this. The first would be is to add a web browser to the phone to authenticate on the access point. This solution has its own can of worms as the screen is the size of postage stamp. A better solution that I can think of is create some type of standard on how devices like this can authenticate with the access point. Can anyone think of any other solutions for this? I will be going back in a few days with my Orinoco card to see if I can’t spoof my mac to get the Skype phone on, Keep your eyes open for this.

Also I got several more calls for Constantine. I ask why they were calling and it turns out the guy put my number on job applications. All I have to say is: If this guy doesn’t can’t put the correct number down on job applications then he doesn’t deserve to be hired.

For your consideration: Object-Oriented PHP and OpenID

BIOS LEVEL by Obsidian No Comments »

Taking a break from Nick’s Skype Challenge, I want to look at BIOS_LEVEL’s new look and backend.

Graphical Changes

While the new design is still unfinished, it remains functional. A few graphical elements still need to be finished, mainly the tabs under the logo and the logo itself. I’d also like to add a gradient to the logo area (just a simple gradient, not another glass-like bar) as well as to the Menu headings on the left hand column. Then I think the CSS needs touched up a bit for the news; add in some color to separate all the different elements (title, links, content). Since I’m on Spring Break this upcoming week, maybe we’ll all see a little change.

Object-Oriented Design?

When we started the new design, we also changed how the page was written to the screen. We moved from my simplistic template engine (if you can call ereg_replace() that) to Smarty. We’re not using Smarty for anything spectacular, just as a template engine. Colin knows a lot more about Smarty than I, but we haven’t tried anything beyond simple element replacement and insertion.

Anyways, using Smarty meant I had to re-write a lot of the backend. Mainly, object-UN-orient it. That’s how you see it right now (and why more than 1/2 of the pages don’t work). Frankly, it feels inefficient. After re-writing the “About Us” and “Profile” pages to not use the OO-approach, I realized it is. For the simple calls I had to do with the OO backend, I now have to pass a million variables. These are taking up unnecessary amounts of memory, especially considering passing by reference is disabled in many cases (objects, primarily). Instead of accessing $this->user for session variables, I now have to pass the $user variable to every function that needs access to it. Same goes to the database connections.

I don’t like it. Along with the graphical changes mentioned above, I’m probably going to re-write the backend this week as well to take a more object-oriented approach once more.

OpenID

I first started considering implementing OpenID on my own blog, but decided against it in favor of remotely accessing BIOS_LEVEL’s userbase. Now that sites such as Digg and others have announced support for OpenID, Colin feels we should join the bandwagon. I’m inclined to agree. More functionality for us, and easier migration for anyone who joins our forums that already uses OpenID. At first, we thought we may have to find a new forum that supports OpenID, but I just found phpBB-OpenID. I haven’t tried installing it yet, but it looks simple enough to use for admins and users alike. Keep your eyes open for it.

And for your enjoyment, BIOS_LEVEL on Apple’s 30″ display.

Skype Challenge: Making a call

Skype Challenge by Nicholas Wolfgang No Comments »

Skype Phone
So I found out the name of the person who had my number before me. It was some one named Constantine. I was amused when I got a call asking for Constantine It made me think of the movie. Then I got a few more. Ok really, they need to stop calling. Its getting annoying. I think if they call tomorrow I am going to ask why they are calling…I am curious.

Today I walked around Philadelphia right out of city hall and around love park. There is free wifi around there. I attempted to get the skype phone connected to it but I had no luck. I then tried to get my palm connected and had no luck. I was unable to tell if the wifi was broken or if there was some configuration on their end that I was missing. Determined to make a call I walked around a few blocks for 30 minutes trying to connect to any random access point. Out side of the building where I work I did manage to get a connection to an open access point. I made a call to my friend Zack, but after two rings I lost signal. So even in the middle of a city with buildings all around and access points all around its very difficult to make a phone call over Skype.

So far at home and at work where the wifi in plentiful the skype phone is nice to use but on the go it is very limiting


WordPress Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login