Logo

So I was bored recently and I decided to make a logo for the blog. I can’t put it in the header since I can’t modify the css because I haven’t paid the upgrade to do that. That doesn’t really matter to me and I just wanted to post to hold me over until I can post again; that being sometime within the next few weeks.

Technophile

Advertisements

Classic: Learning A Programming Language

This post was originally made on January 29th, 2007 on another blog I had.


You may not be a geek, but I’m sure you have always been curious as to what all that stuff on the screen of programmer actually means. You first need to understand that programming isn’t an easy task. Also, it requires dedication and the curiosity to learn it. Here are my thoughts on learning a programming language.Like I said in the introduction, this stuff isn’t easy. You may have heard of some magical programming language that is incredibly easy to learn, but it’s just a gimmick. To give an example, there is Visual Basic. By the title, you can guess that it is fairly simple. I have news for you though, it isn’t. Back in the day, BASIC was easy to learn, but no one programs in that anymore. Visual Basic is probably one of the easiest languages to learn, but it still requires reading a couple of books to really gain some experience in it.You shouldn’t get confused between markup languages and programming languages. HTML, the angled bracket tabs that allow your browser to display everything, is a markup language. HTML is easy to learn and isn’t used to program anything. If you really want to get into making programs for the web, you need to learn a web programming language.

Web programming languages are vast in number, but there are a few quality one’s that you should take a look at if you are interested. One of them is PHP. This site is actually powered by PHP. It isn’t the best by far, but it is the most widely used one. There is also Perl and Ruby. Those three are actually called server-side languages which means that they are parsed by the server before they are displayed to the user. Client-side programming involves Javascript mostly. Since Web 2.0 busted out, Javascript has had a second coming in the form of AJAX web apps and such. There are many libraries to help you out and if you’re interested in making all that glam, buy yourself a book and learn the basics.

There is also application programming. The majority of game development now takes place with C++. This is a complex language that may take years to master, but it will certainly be rewarding in both your sense of accomplishment and your salary. There is a program or collection of programs from Microsoft called Visual Studio. These components rely on Microsoft’s .NET Framework. That’s where Visual Basic is and also Visual C++ and Visual C#. Those are the most common ones. Visual C++ is different from normal C++ though. So you can choose either one or the other. When you use C++ to develop a game for example, you usually use a graphic library. You have probably heard of DirectX, but there are also others, like Qt.

Also, if you’re interested, there is programming for micro controllers. This is what I do on my robotics team and can be a pain, but it’s fun. When you are working with them, you have to take into account the memory limitations and capabilities of the microprocessor. If you are programming for a normal computer, you are able to use floating point numbers, on a microprocessor though, you would probably fry it. Microprocessors can be found anywhere from your car to your toaster. Someone has to program them, why not you?

I hope I gave you insight into the wonderful world of programming and maybe you want to get started on a project of your own. It can be frustrating at times, but that’s when you need to try your hardest to understand it. Sometimes you really have to push yourself because the programmers who made the languages usually make them for functionality, not ease-of-use. You can find programming books in most bookstores or online at Amazon. If you don’t have much money, fire up Google and find some tutorials.

Future Standards

I just read Kyle Neath’s article titled HTML5 and CSS3 are doomed for disaster. I took away a lot of information, but it kind of stated what a lot of people are thinking. Making specifications is easy compared to the implementations of it. Although I think HTML5 will be a bit different.

The specification for HTML5 is being created with browser developers as part of the process. Since they have an idea of how hard it will be to implement each part of the spec, it should go smoother. Also, HTML5 is an incremental upgrade. It’s nothing as radical as XHTML and provides several neat enhancements that will make developing for the web easier. XHTML is currently just HTML with self-closing tags in most implementations. It’s a struggle to try and design with standards when they aren’t even supported and you’re just left with “tag soup“.

Being a good web designer is partly being able to develop a design that works across multiple browsers and platforms. This can truly be a pain when you’re talking about trying to get your code to work with IE6. How I yearn for a scenario when we can just tag team IE6 and no one would create sites that are compatible with IE6. This would force the user to upgrade to a browser with a least some standards support. Our entire school system just made the switch from IE6 to IE7. If our school system with hundreds of computers can make the switch, any small company or personal user should be able to also. All they have to do is click the install button, and then it works (not 100% of the time, but hey, nothings perfect). I by no means advocate IE7 to people, but if it’s the only option, so be it.

The Flash Player 9 has been downloaded over 3.2 billion times.

The reason why Flash does so well is that it comes pre-installed on a lot of machines and it can automatically update from within the browser. As I have said before on other blogs, people are stupid. They are also a bit impatient. If they have to go out of their way to install another browser or upgrade to say, IE7, they aren’t going to want to. Hitslink provides a glaring example. IE still controls about 78% of the market with IE6 still ahead of IE7 by 4%. IE7 was pushed through as a priority update on October 18th, 2006 [source]. That’s over a year and it’s about even percentage-wise. Now look at the Firefox trend. Firefox 2.0 has 15% of usage while the previous iteration, 1.5, has .63%. Since then, Firefox has updated automatically within the browser itself and it’s updated when the browser is restarted. No fuss for the user and most of the people that use the browser are on the latest version. Flash just upgrades and installs and people get the latest version without them having to do much except maybe click a link to automatically download it.

I digress. For all my hopes, they may just be dashed. I want to be realistic about it, but I so desperately want standards to become, well, standard. Making it so the user doesn’t have to do anything would be a step in the right direction.

I Got An iPod

So for Hanukkah this year, I got an iPod Classic. After looking at the Touch, I decided to go with the Classic because it had more space and I figured I might as well get the iPhone if I wanted a touch screen.

Previously, I had an iRiver iFP 899. It worked out fairly well when I had it. It had 1GB of storage and it played songs fine. The only real qualm I had about it was the “iRiver Music Manager” that came with it. It was slow as hell and the drivers got screwed up every time I upgraded the firmware. Since it had a SSD inside, it was resilient to a few “accidents” I had. I dropped it on the ground, in a cup of water, and on other various surfaces. Thanks to the plastic case you get with it, I still don’t have a scratch on the thing.

Now back to the iPod that I just got. The one that I got was the iPod Classic 80GB Black. I like it better than the 5G version of the iPod, but the back is still very prone to scratching. Within the first 24 hours of owning it, the back already got scratched to hell. I had it in my jacket pocket, which is padded, so I really don’t know how it happened.

The interface is obviously sleek since its Apple. While it’s not particularly an amazing sight to me, all my friends are amazed by the album artwork panning across the screen on the right side. I know Apple likes to tout their cover flow feature, but I find it kind of annoying. I hate having to flip through the albums to find what I want. I either turn it on shuffle, or find the album I want by scrolling through the album list. The scroll wheel is light-years better than the little nub that I had on the iRiver player. It just took me a few minutes to get used to scrolling around quickly to find songs.

My biggest reason for buying the Classic was the space. I wanted room to store not just my music, but my movies too. I have about 12GB of music and about 50GB of movies on my external HD that I wanted to copy over. I came to the realization that all the movies are encoded with either DivX or Xvid, so I have to convert 90% of them over to the m4v which the iPod plays. It’s a minor setback though.

I have come to loving the syncing feature with the iPod also. I’m not the biggest fan of iTunes, but it gets the job done for what I have to do. It syncs up my music, videos, and podcasts quickly. I haven’t done any photos yet, but I assume the same.

All I have to say in the end is great job Apple. While not the perfect device, the iPod comes very close to achieving perfection. It single handedly started the portable music industry and has created a space for competition to brew.

RSS Feeds Screwed Up

Sorry if the RSS feeds got screwed up for people. Apparently WordPress doesn’t like it when I wanted to include more items in my RSS feed, and it just threw the older posts to the front. Should be fine from now on, unless I want to do it again.

EDIT: I guess this must just be a Google Reader issue because it looks fine in the raw feed.

Google Chart API

I love graphs. Numbers are incredibly boring when they’re just sitting there on a table or spreadsheet. Making numbers lively requires some imagery. That’s why I love what Google has done with their new Chart API.

They make it dirt simple for anyone to create graphs. Instead of making a bunch of data and saving it out and realizing that you screwed a number up, you can just go change a number in the URL and it changes instantly. No need to upload all the images, just use the <img> tag and link to the URL with it.

If I figure it out more, I think I’ll make a little script in PHP that will auto-generate URL’s. Then it won’t give you any excuse for not using graphs when you have numbers to show! This is just an example of what it can do:

http://chart.apis.google.com/chart?cht=lc&chd=t:10.0,80,20.0|30.0,8.0,63.0&chs=250×100&chxt=x,y

VoIP and Precautions Killing Bandwidth

There were many changes to our school this year. Two of them were not welcome. This was the reduction of bandwidth that we created by our new telephone system, and a new phishing filter installed on the routers.

To give you a background, our school network connects to the internet on two T1 lines. Last year, you could look forward to achieving around 70kbps download speed on most sites because of the volume of users and students using it during the day. At night, you could look forward to going around 190kbps.  Since the phone system was installed, you can expect to have around 20kbps or even slower during the day. I could connect via a modem and get better download speeds than that! This is especially frustrating in my networking class since we take our tests and read material online. Some of that is flash-based content which is just horribly slow. Since the phone system is constantly running, it doesn’t get much better at night.

Another slowdown is the phishing filter. I don’t get the reasoning for this one, but it’s affecting the system, so I figured I would talk about it. Every single request for a page has to go through the phishing filter which takes a second to analyze if your only serving up a page, but when it’s looking at all the packets being requested from everyone in the school, that number rises to 100s of pages per second. The result is waiting at least 10 seconds before the pages even start to load. They also “upgraded” to IE7, which has it’s own phishing filter, and its own problems. I usually turn it off, but to those who leave it on, it just makes it that much slower.

I guess VoIP is the way of the future, but it has to be used responsibly. Our IT guys made an assumption about the amount of bandwidth it would take up, and it has cost us. The phishing filter doesn’t make any sense since people shouldn’t be using their credit cards and getting scammed on school time anyways. I don’t mean to blame it on the IT guys because they were probably pressured to reduce costs by installing VoIP and the phishing filter is the result of people’s actions. That’s all for now, see you in the future!

Will The Internet Die?

Ever since video became a reality on the web, there have been concerns over whether or not the web can handle it. While the internet is a mesh network, it does have some singular points of failure. The root DNS servers are located in close proximity to each other, so if they ever go down, no one will be able to get anywhere unless they know the IP address. Politics is also a big concern as we move foward.

Internet politics encompasses many debates. I’m not talking about a tiered internet, but that is bad enough. I’m talking about disagreements between the Tier 1 ISP’s. It wasn’t that long ago that you couldn’t access half of the web because Level3 had a disagreement with Cogent and they cut off access. It has since been resolved, but if this happens more often, it will cause more disruptions. Also threating the web is not just qualms between companies, but their unwillingness to upgrade their networks. Core fiber and other essential networking that keep the internet running aren’t being upgraded. Although people will transfer around one exabyte of data next year, the big corporations such as AT&T defy the rest of us. In case you don’t know, an exabyte is over one billion gigabytes. They can barely handle it at this level, what makes them think they can keep going this way?

You can also look at the way we have large websites run. A lot times they are run at a co-location which may have good uptime, but a few minutes of downtime can mean money for some people. There have been two examples of this recently, Rackspace and 365 Main, and I wouldn’t be surprised if we see more of this as more web sites pop up. The general idea of grouping a bunch of web sites together in one facility is ironic; since the beginnings of the internet were made around the idea that if one place goes down, a bunch of places don’t go down at the same time.

Don’t be surprised when you try and go to Google.com and it doesn’t work. I hate to say I told you so, but it’s inevitable the way it’s going.

This Year

I look back at the last major post I made on this blog, and think. It has been over a year and a lot has happened online and in the tech community in general. I’ll start with what is powering this very blog.

WordPress has gained an even more massive audience than last time I wrote. The community at large has released a few a versions of this wonderful software. I have attempted to switch over to Movable Type or some other alternate blogging system, but I keep coming back to WordPress. I really don’t know what it is, but whatever it is, I hope they continue on the same path. I look at this from a user’s perspective too. As a programmer, I see a few parts that could use a little overhauling, but most of it is just a matter of taste.

If you go back a few weeks, you will encounter the release of that $200 PC from Wal-Mart. I do have some qualms about gOS, but I’ll save that for another post. The system itself is solid, and it will help people enter the digital age with little impact on their budget. The only problem I foresee with such a system is that the ineptness of the consumer will create a help desk nightmare. Say someone goes out to buy Microsoft Office for their brand-new PC. Guess what, it won’t work since it’s not Windows that’s installed, it’s Linux. I personally know plenty of people who don’t know what an Operating System is, and would be completely pissed off when they realize they can’t install a piece of software that they just paid $400+ for. Seeing how this is a budget PC though (which comes with OpenOffice preinstalled), most people who are buying the PC won’t go out and pay twice as much of the cost of the PC on a single piece of software.

No recap would be complete this year without a mention of Apple, Inc. From new iPods, to the iPhone, to Leopard, Apple has made a major play in the tech market. It’s been covered ad-nausea in the media, so I won’t repeat what they’ve already said. I’ll just say that they all look cool, and if I had the money, I would buy them.

Google has also been doing fairly well this year. With the recent release of its Android mobile platform and breaking $600 a share, it’s looking up at the Googleplex. Google hasn’t been immune to all attacks though. From their attempted buyout of DoubleClick, to take-down notices from the studios against YouTube, and Gmail exploits (partly due to a jar exploit in Firefox, which is supposed to be fixed in 2.0.10), no one can say it’s been easy-going.

On the security side of technology and the web, we have the Storm botnet. The botnet is estimated to be really freakin’ huge (that’s just an estimate) and can DDos sites and take down entire networks, all with a single click. The main problem is that people are curious. They are also inherently stupid. When guys, in particular, see an image that says click the bunny to see what’s behind it, nothing with stop them from clicking that goddamn bunny.

Going to the gaming division, we had a few big announcements this year. The big games were Halo 3 and Bioshock. I’ve played both, and I love them. The console battle has clearly been won by the Wii (still can’t find any in stores), but the Xbox 360 also turned out well. The PS3 has suffered from over-engineering and a lack of good games. I have a feeling the PS3 will do better once MGS4 and Haze get released on the system.

So many big events happened this year. If I could, I would cover them all in this blog post, but that would make for headaches and stiff fingers. So until next time, stay classy Internet.