Entries in School (5)

Monday
Sep132010

Subjects

Through some cruel twist of fate, I will be having not even a brief respite from school.  It has something to do with normal colleges having short summer semesters and my fully online school having 10 week courses no matter what.  The result is that while normal college ended three weeks ago, online college is wrapping up this week.  Normal college is beginning their fall semester next week, which means my break between school consists of this weekend.  Ok, so I guess I have a brief respite. What this means for this website, though, is that once again my plans must change. My plans going unfulfilled seems to be a running theme.  I think I'll add a tag, to make it easier to find these instances for future self-loathing, and potential third-party loathing as well.  The plans I referenced pre-tangent were to bang out a bunch of posts on various topics that have intrigued me in the 10 or so weeks since I stopped updating this puppy.  Thinking, erroneously, that I would have a nice calm break between classes, this seemed like a reasonable proposition.  Since that will not be happening, it seems like I'll need to put my big boy pants on and just do school and website at the same time.

 

Here's the thing, when it comes to subscriptions, I feel like I have to use them in the billing period, or it hurts me.  I get 1 credit a month from Audible.  I pay them monthly.  If I don't use that credit that month, it's like they won.  Same thing with Squarespace.  When I don't post here, I feel like Johnny Squarespace (the founder and CEO of Squarespace, of course) is sitting in his office laughing at me.  Like he has little puppets, and he acts out little scenes.  His puppet is big and manly, mine is short and dumpy.  He says "Listen up little man, I'm not going to give you anything this month, and you're going to pay me!" To which puppet-me says "Yeah, ok", and hands over the money, which makes him start laughing all over again.  It's like that, in my head.  All the time.  God forbid I don't use two subscription services in the same month.  It's like they have a meeting, and I'm serving the tea, and then I pay them and leave.


That's all a long way of saying I have some stuff to talk about, and it will hopefully be coming with some predictable frequency in the coming weeks.  My topics include, in no particular order:

 

  • XHTML
  • Batch script to detect software versions
  • A review of the cinematic tour-de-force that is Mega Shark vs Giant Octopus
  • My thoughts on why time travel is a flawed premise for fiction of all kinds
  • Batch back up script
  • Software architecture
  • My projects page
  • Selling my Mac for a pc (well, sorta)
  • Twitter
  • Hacked car software
  • A possible new look for the site
  • Extravagant displays of soda can artistry at supermarkets
  • Rats (the cute kind, not the big nasty ones)
  • The occasional caloric perks of working in IT

 

Friday
Jul162010

School is on, blog is off

Looks like this will be a busy quarter. I know all you thousands of avid readers will be disappointed, but I think this site will be taking a back seat for a bit

Friday
Jun182010

Visual Design

I recently took a visual design course for school. Well, technically I didn't HAVE to take it, but I needed to take a 5 week pre-req course for my tech degree, and needed to do another 5 week course so I would be taking a half load. Visual design sounded interesting, although I was hesitant because I'm a touch color blind (apparently the PC term is color deficient.  I prefer blind).

  I was correct to be worried about not seeing color correctly, but it wasn't as bad as I thought it would be. There was only one week that focused strongly on color. I didn't do so great on the quiz that week, but oddly enough, the teacher loved my assignment and wants to use it as an example for future courses. I have to admit, the cynical part of me wonders if he didn't ask everyone in the class, because he asked as part of feedback for the final assignment. The little devil on my shoulder thinks he throws that in there to see if anyone is paying attention. I'm not so good about checking my final grades in a class, especially if I've done well the whole time. He has access to my email address, why not contact me that way if he's really interested? Ah, but the angel on my other reminds me that spam filters are dumb, and he probably wants to be done with the course as much as the students, so why take extra time to send an email when he's communicating with me via feedback already. Also, and this is perhaps the most damning evidence against my little devil: Why would he put himself through the possibility that no one will respond?

  That really had nothing to do with design. So the main thrust of the course is a mixture of teaching how the eye and brain work, including some psychological tricks designers can use, and also some quick and dirty tips on creating an effective design. Examples include using proximity by grouping relevant items together, aligning design elements to give the piece a cohesive look, etc. There was some interesting talk about colors, and how warm colors tend to dominate the foreground while cool colors blend in more with the background. Also, the differences in color profiles between monitors and printers. The short story is that monitors use 3 colors, printers use 4, so you have to take special consideration when designing for each medium.

  What really surprised me most of all, almost to the point of paranoia, was the tricks you could use to make your design more attractive. For example, the eye is drawn to dots. If there is a single strong dot on a page, your eye will go to it no matter what. You can't help it. Similarly, lines create tension based on their orientation. Horizontal and vertical lines create tension, diagonal isn't so bad. The eye does not like to cross lines, it creates tension. The eye will follow partial lines or arrows. While I was (and still am) impressed by this, it also gives me pause. I don't like knowing that it is so easy to manipulate the way we look at something. I don't think there's anything nefarious going on, but it doesn't sit right with me. I think ultimately it is the goal and responsibility of a designer to make an ad that will draw attention and appeal to people, but I think I'm going to have a hard time looking at some of these ads without instantly identifying how they're trying to manipulate me.

I know that taking an adversarial role in this is ultimately a flawed approach, but for the moment I can't help it. I think I can temper my paranoia and cynicism with logic. A good product is a good product, and they should use everything they can to sell it. Poor ad design is not necessarily a sign of an honest, good product. If anything, good products will have better advertising budgets, which should make for more effective ads.

What is definitely positive about the whole experience is that I'm thinking about design more. I believe I'll start thinking about it more moving forward, incorporating it into projects. I find I'm doing this a bit already. I'm more aware of fonts and find myself reformatting documents more than I otherwise would. I'm slowly starting to work on the intranet at work, make it a little more pleasing on the eye. The class definitely had a much larger impact on me than I originally thought it would. Who knows, if it weren't for my screwed up eyes, graphic design might have been something I would have pursued as a career.

Sunday
Jun062010

Automated New PC Deployment

One of the first elective classes I took at community college was an odd class that combined A+ type hardware teaching, using the Windows command line tools, and peer to peer networking. The p2p networking stuff was interesting, but tedious enough that I haven't bothered to set it up at home.  The A+ stuff I already kknew for the most part, but the command line stuff, specifically batch files, really opened my eyes. Between the command line and the registry, you can do almost anything from a text interface.

  The idea to start using batch files to automate some of the new PC deployment tasks came to me after banging my head against imaging and deploying PCs across different hardware. See, the thing is, we're not big enough at work to have our own PC model that we order.  We tend to buy a few as we need them, then a few more. The result is we end up having many different hardware profiles. Loading a new PC from scratch is a tedious, boring process. Between applying all the updates, making all the security and configuration changes, cleaning up and defragging, it could easily take two days to get one up and running (less than 1 if it's my top priority).

  In an effort to make things more streamlined, we would get each PC to a basic starting point where everything was just the way we liked it, then we would make a duplicate image so we could just load that on new computers, thus saving many hours of tedious setup. Here's where the fun starts: Deploying an image on different hardware than the PC the image was made on was a total crapshoot. Sometimes it worked fine, sometimes it wouldn't even boot.

  Now, I thought that Microsoft's Sysprep tool was the solution to this. The idea is you get the PC set up just the way you like it, then run Sysprep, which will "reseal" the device. This regenerates the SIDs (I believe that stands for Security Identifiers, which all have to be unique on PCs in a domain), and makes you go through the set up process. You could even make an answer file to make the re-setup quick and painless. What's that you say? That sounds perfect? I thought so too! The problem is either user error or a flaw in Sysprep. I'm inclined to think it's a little bit of both.

  The problems I ran into Sysprep were twofold. One, it was still a crapshoot on whether the image would work on a PC with different hardware than the original. This one might be user error. There might be a way or place to specify that the image will be used on different hardware. I believe there is a place to add drivers, but I couldn't really figure out which drivers to add. The second problem is that Sysprep seems to have a weird anti-piracy feature built in, where it won't reset the grace period for activating Windows if you run sysprep several times on the image. The trouble I was running into was making last minute tweaks, then reimaging and re-sysprepping. After a few changes, I started getting a message saying that Sysprep wouldn't reset the grace period for activating windows. At the time, I didn't really understand what that meant and went on with my business. I found out a month later when I was trying to deploy the image to a machine and I couldn't log into Windows because it wasn't activated, and I couldn't activate it because I couldn't log in and load the network driver.

  To me, this is a flaw wit Sysprep. If anyone wanted to update their image more than five times, then Sysprep would stop reseting the grace period, meaning it'll turn PCs into brick in a month if you try to use it. I think this is partly error on my part for not being able to figure out the drivers, and a goof on Microsoft's part for making the tool counter-intuitive to use. The work around for the issue I described is basically to take an image, save it, then only run Sysprep on it when I'm about to deploy the PC. This works, and it's what I'm doing, but it feels like there should be a better tool for this type of thing.

  So that leads me back to why do I need a way to automate the setup of new PCs? I've decided that I have the best chance of successfully restoring an image to a new PC if I remove the hardware differences. So that means I need one image for each model of PC we get. If I had to set up each one of these by hand each time, it wouldn't take long for me to start looking around the office to see what I could slice my wrists with, or to try to figure out if a USB cord noose would support my weight.

  This is starting to look a little long. I think I'll end this now and save the actual trials and tribulations of my automation attempts for the next post.

Saturday
May082010

Databases

I'm currently enrolled in a database class.  It's coming to a close soon, but I found it surprisingly interesting.  For one, it's hard to conceive of how much information is stored in databases just in this country.  I would wager just about every business with more than 1 employee uses a database for something.  Customer information, employee information, payroll.  I heard somewhere that the average American is in over 70,000 databases.  I scoffed when I first heard that, but now I'm surprised it's not more.

Learning about databases has been interesting.  For me, the subject tended to range from fascinating to painfully boring.  It still amazes me how much power there is in SQL statements.  Who would think that you could manipulate all that data with a few well-worded statements?  The boring part has been spending what feels like a lot of time on basic concepts.  That's probably not fair, though.  I tried to teach myself a bit about databases before taking the class, and I think I have the type of weird brain that gets things like this.

One thing I'm finding a little frustrating is that I now know the basics on how to build and use a database, but there's no real instruction on how to utilize it for anything.  I don't know how I would tie it in with an application, or a web page, or even how to set up professional database software.  It's like there's a weird gap of knowledge between using a small, personal-type database system and using a professional one.  The pro tools expect that if you're looking to use them, you already know how to set up and configure them.  Maybe that will come later, but for now I find it frustrating.