Posted June 30, 2009 in Blog by Tieson | geeksneversleep.com
I can't seem to stop redesigning my websites. I thought the last setup I had was pretty decent, and would last a while. Did it?
Nope.
Ah, well. I suppose there are worse vices than compulsive CSS modification...
Anyway, the new site should be up pretty soon. I took this newest redesign as an opportunity to also redesign a lot of scripts that I've been using almost since I first started learning PHP. Considering how rough those first scripts were, I'm kinda surprised how long they lasted. As of right now, I've managed to reduce the number of unique pages down to about a dozen, and the majority of those pages are administration pages, like sign-ups, profile administration, etc. The "content" for this site can be displayed on a whopping two pages. Cool, huh?
So, if you're patient enough, you should see the all new GeeksNeverSleep within another day or two. Until then...
Ciao!
;p
Tags
CSS, Redesign,
Updated
...
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted May 11, 2009 in Blog by Tieson | geeksneversleep.com
I don't know how I never found this before. I've looked high and low, near and far, all to find a good clean method for rounding the corners of some HTML elements. Rounded corners just look nice, IMO.
I've found more than a few ways of getting rounded corners, and they all have caveats that kept me looking for something better. And I think I've finally found the "something better"!
:)
I bought a book called "CSS Cookbook," from O'Reilly Press. I was flipping through it, and came upon a section dealing with rounded corners. The first couple I've tried, and I wasn't impressed. The last one, though, I hadn't heard of before. "Nifty Corners, eh? Sounds, uh, nifty..." says I. I Googled "Nifty Corners," which got me this URL:
http://www.html.it/articoli/niftycube/index.html
Alessandro Fulciniti, the gentleman who came up with this technique, has a bunch of examples of how to use Nifty Corners on his web site, and I was thoroughly impressed. I love this technique. It's simple. It's clean. It does what I want, and it does it fluidly. What more do you need?
If you have some time, I thoroughly recommend you check out the link I provided above...
:)
Tags
CSS, Rounded corners, JavaScript
Updated
2009-05-11 18:21:23
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted April 5, 2009 in Blog by Tieson | geeksneversleep.com
I know I've said this before, but it still bugs me that so many students take the hack-and-fix
approach to writing code.
I suppose part of the problem is that this college doesn't seem to worry too much about teaching proper design methodology. The main focus seems to be on teaching students to parrot what they've be told, and to let someone else down the line really teach them what the code they've been echoing is actually doing.
I think I could even deal with these waves of cookie-cutter code monkeys if they actually had a grasp of the most basic elements of programming, but many of them lack even that knowledge.
What do I mean by that? Well, I expect anyone who has completed CO-116, our Introduction to Programming course, to know what I am referring to when I ask them to create a variable for me during a tutoring session. Many of them can't because they have NO idea what a variable is. Variables are an essential element of programming! If they don't know what a variable is, they usually don't have a clue what a function or subroutine is. I see this as a problem, since these two elements are the foundation of almost every program they will write in every other class we offer.
What gets me the most is that I KNOW these ideas are taught in every CO-116 course. So HOW exactly are these students passing that course if they lack understanding of one of the fundamental aspects of the course?!
My answer? Someone is giving them far too much help
in completing their assignments. And by help I mean doing their work for them
or simply giving them the code they need to complete their assignments.
While that may get those students through the class, it hurts them in the long run, since they aren't really learning anything. I'm not against showing someone some code and walking them through how it was built, but I will not just give them the answer...
So, if you have a student who only partially comprehends what he/she is doing, and they haven't been taught how to develop their code logic correctly, what you wind up with is a student writing 400 lines of code to do what could have been done in 75 lines.
In other words, they're doing it wrong...
:p
Tags
Rant, Design, Methodology
Updated
2009-04-07 10:21:04
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted January 28, 2009 in Blog by Tieson | geeksneversleep.com
Color me surprised. I just updated to Internet Explorer 8, Release Candidate 1 from the Beta 2 version. While I had liked some of the CSS upgrades in the Beta, my overall impression could have been summed up with one word: Meh.
The Release Candidate version? Now that is another story altogether!
The first thing I've noticed is that the browser is at least two orders of magnitude faster. Pages that took a bit to load in IE7 and the Beta 2 of IE8 are now fairly snappy. I suspect Microsoft is taking a cue from Apple and loading the page first, then filling in the images. Can't beat 'em, join 'em, eh?
The speed increase pales in comparison to my favorite upgrade: CSS!
I use some fancy CSS tricks for my navigation bar you see above, and it relies on the browser correctly supporting web standards. Previously, IE has been fairly haphazard in following the W3C recommendations, but with IE8 Microsoft seems to be moving a big step towards compliance. How can I tell? Well, my CSS works, silly! Before I updated, the drop-down effects on my navigation bar were barely usable in IE, but in IE8, they work just as well as if I were using Firefox.
WHAT?! No more quirks-mode?! Woo-hoo!
When I have a chance, I will try to post an updated CSS compatibility chart. Helps to know the enemy, you know...
;)
Tags
Internet Explorer 8, CSS, Microsoft
Updated
2009-02-03 01:22:16
Comments ( 2 )
Login or register to comment.
↑ Back to top
Posted January 21, 2009 in Blog by Tieson | geeksneversleep.com
I've been scripting my pages using PHP for a while now, and I've always thought it was pretty darn neat. And I still do. But... I may be crossing over to the dark side.
GASP!
Heh. Not really. But I did recently get a chance to build a web form in ASP.NET, and it was pretty f--ing cool, pardon my French. For the most part, the process to develop a page in ASP.NET is the same as in PHP, except Microsoft gives you a few tools you can use to build the web site, a-la Dreamweaver (without the f--ing insistence on tables...).
The part I thought was the most interesting was that I had to use ASP versions of the various HTML form controls. The neat thing is that ASP.NET controls save state. For you non-programmers, that means the controls remember whatever text was entered into them, or whether or not they are checked/selected. You can do the same thing with PHP, but you have to build the logic yourself. With ASP.NET, you get it for free...
Tags
ASP, dotNET, PHP
Updated
...
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted December 18, 2008 in Blog by Tieson | geeksneversleep.com
Those of you who have actually read my About page know that I originally built this web site to serve as a place to find code snippets and/or explanations of some of the more technical aspects of programming and web design. So far, I havn't really accomplished that goal. Most of the entries I've posted have been more of a history lesson
than anything. Part of the reason: I've been trying to refine the layout of my site as I go along and learn more about web design. Now that I have a reasonably stable design, I can start focusing on doing what I set out to...
So, other than a minor change to the navigation menu, expect to see less change in style and much more content!
:)
Tags
Update, Goals,
Updated
2008-12-18 00:10:00
Comments ( 1 )
Login or register to comment.
↑ Back to top
Posted December 8, 2008 in Blog by Tieson | geeksneversleep.com
I was recently asked this question by my Technical Writing instructor to think about as part of our final exam and I thought you might enjoy my response:
Final Exam Question: What field(s) will my chosen field have to interact with using technical documents, and how? Think about 10 - 15 years from now.
My chosen field? Software engineering. What fields will I have to interact with? Ha. A list of fields I won't interact with would probably be much shorter. It would seem at first glance that nearly every field interacts with software in one fashion or another, from the attorney using a catalog system to research relevant prior cases to the zoologist using a productivity suite to publish the results of his latest study. Students and scientists use web browsers and search engines to gather information for their studies. Businesses use web services to communicate sales data to central offices. Defense agencies use GPS and satellite telemetry to coordinate tactical exercises. These, and many others, are all examples of people using technology in one fashion or another, and each of these technologies is driven by software, be it embedded in logic controllers or executed from within an operating system.
All of this technology requires documentation to develop the software, to train users of the software, and to help other developers maintain the software. There are entire industries devoted to nothing more than helping businesses properly develop software, or teaching new users how to use such things as the Windows operating system, the Microsoft Office suite, or the various parts of Adobe's Creative Suite.
This trend to bound to continue well into the future, since more and more of our everyday activities are based around the technology that has so pervaded our lives.
Tags
Final exam, Question, Technology
Updated
2008-12-08 14:49:00
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted November 25, 2008 in Blog by Tieson | geeksneversleep.com
Not everyone has the money or inclination to pay $50 or more for a (bloated) security suite from the big boys (McAfee, Symantec, Trend Micro), but that doesn't mean you have to be content with sub-standard protection. There is quite a bit of good, free, software available that is not only as good as, but sometimes better than, commercial software.
The following is a short list of software I have used and recommend.
- COMODO free products (firewall, anti-virus, anti-spyware, anti-rootkit, security suite)
- a2 Free (anti-spyware)
- AVG Free (anti-virus)
- Avast4Home (anti-virus)
- WinPatrol 2008 (process guard)
- Spybot Search & Destroy (anti-spyware, process guard)
Tags
Security, Software, Recommendations
Updated
2008-12-10 17:04:00
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted November 4, 2008 in Blog by Tieson | geeksneversleep.com
I've seen many different ways of clearing the contents of controls in a Windows Form object, some of which can be quite elaborate. While it can be fun to come up with these convoluted schemes, there is an easier way. Here's what I do...
I implement a foreach loop, and iterate over the form's collection of Controls, comparing each control to the TextBox control type, using the is keyword. This keyword, is, performs a type comparison. If the Control is the type I am comparing it to, then I perform a function call, in this case a call to the Control's ResetText() method.
The beauty of this chunk of code is that it scales with the form itself. If the form has 3 controls or 300, the same code can be applied without modification.
Pretty sweet, huh? Here's the code (written for C#):
foreach(Control ctrl in this.Controls)
{
if( ctrl is Textbox )
{
ctrl.ResetText();
}
}
Enjoy!
Tags
Snippet, Foreach, Type comparison
Updated
2008-12-08 16:59:00
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted October 24, 2008 in Blog by Tieson | geeksneversleep.com
It never fails. Every semester, I have to help at least one student who wants to create some convoluted, twisted function for their homework assignment, when it really isn't necessary. I tend to squint at their screen for a moment, scratch my head, and ask, And what are you trying to do here, again?
It seems to be a two-fold problem. The first (and I know I've harped on this before) is just plain a lack of planning. No matter how many times the instructor hints at it, students just don't seem to like taking a little bit of time to sketch out their programs before they fire up their IDE.
The second problem seems to be related to over-thinking the task at hand. The students seem to want to throw a whole lot of code at a rather simple task, or store some data in a type that really isn't a good fit for what they need to do.
It's frustrating at times, but I can eventually convince these young gentlemen and ladies to take a step back from their development environments and watch and listen as I sketch out simple data structures on some scrap paper.
Once we have a good, simple data structure to store data in, the input phase tends to become a lot easier, and this makes every other step that follows easier, too.
So, maybe Forrest should say this if they ever make a sequel: I may be a simple man, but I know what good code is...
:)
Tags
Coding, Forrest Gump, Planning
Updated
...
Comments ( 1 )
Login or register to comment.
↑ Back to top
Posted October 8, 2008 in Blog by Tieson | geeksneversleep.com
One of the few quotes I know from the world of Sir Arthur Conan Doyle's Sherlock Holmes goes something like this: When you are trying to solve what appears to be a mystery, eliminate the obvious first. Whatever is left, no matter how extraordinary, is the answer...
Sometimes, those of us who think we have a good grasp on programming fall prey to over-looking the obvious. We get a bug in our code, and we can't figure it out. We rewrite large sections of code we think are the problem, again and again, cursing profusely when the error persists.
Finally, we break down and seek help from our peers. If we're lucky, one of those guys might ask the magical question that leads to a memorable fore-head smack, and the problem is solved...
I just had one of these oh-so-enjoyable moments. I've been trying to build a new script for this site to update my new page content, and it's been failure after failure. Finally, I seek help from one of the resident instructors I know (who happens to be fairly good at this web-thing) and asked him for suggestions. One of them? Have you tried echoing the query string to the screen after the post, so you can see what you are sending to the database?
he asks. Uh, no.
I says.
D'oh.
Oh, look. The primary key field is empty. Hey, that might cause problems, right?
...
Yup.
SMACK!
:p
Tags
Missing the obvious, Sherlock Holmes,
Updated
2008-10-08 21:09:00
Comments ( 1 )
Login or register to comment.
↑ Back to top
Posted September 16, 2008 in Blog by Tieson | geeksneversleep.com
GRCC recently updated a lot of their network structure, the applications the students use, and a host of other improvements. Unfortunately, these upgrades broke an application we use in the Open Lab (where I work) called TutorCall. TutorCall was a little applet students could invoke that would summon help if they needed it. This was nice, because it meant we did not constantly have to be looking around to see if someone needed help...
To make matters worse, the guy who developed TutorCall won't fix it unless GRCC hands him a nice fat check, which they are disinclined to do. Leaving us with no TutorCall. Boo...
So, someone had the great idea that I could write a replacement, since I've been complaining about wanting a project to work on. I can do it, but I was kinda hoping for a relatively easy semester.
Anyway, from what I already know, and combined with a bit of research, I have come to the conclusion that the best replacement would be an ASP.NET web service combined with a couple of small desktop clients. The logic is easy to work out, there is a lot of code already out there that can be adapted, and (most importantly) I can write most of the code in C#...
I will keep y'all abreast of developments as they occur. Also, if you have any suggestions, feel free to comment here.
Cheers!
Tags
Code, Web service, Development
Updated
...
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted September 12, 2008 in Blog by Tieson | geeksneversleep.com
Perhaps I only see this because I have attended a two-year college, but it seems to me that students entering the programming field are not really being taught to think logically, but rather to regurgitate code that someone else has already worked out. Instead of focusing on teaching these students to develop good analytical skills, and teaching them good planning techniques, we instead shuffle them through boring, pointless, unchallenging exercises that don't really teach them anything they can use in the real world.
One of my biggest pet peeves is hearing a student say, I know blah blah blah and blah blah blah, and blah blah blah...,
of course inserting the current fads in programming languages. Big whoop, I say. Can you actually explain your code? Do you understand the flow of data in your application, or does it just work?
I would rather help students build UML diagrams and pseudo-code than scan through what is often times poorly executed code to find some weird bug. I mean, learning a language's syntax is important, but having a good, well-thought-out logic to follow makes writing code much, much easier. Write the logic, then research what code is necessary to implement that logic in your language of choice...
The best analogy I have heard for this so far is this: if all you know how to use is a hammer, every problem looks like a nail. That means you are adapting your problem to fit your solution. (This is bad!) Now, if we teach you to think analytically, we give you all the tools you need to develop an original solution to your problem! (This is good!)
So, am I just way out in left field on this? Do you agree? Disagree? Post your thoughts below...
Tags
Logic, Coding, Poll
Updated
2008-10-21 15:49:00
Comments ( 0 )
Login or register to comment.
↑ Back to top
Posted September 4, 2008 in Blog by Tieson | geeksneversleep.com
I am, above all other things, a programmer. I'm one of those guys that stay up late writing code, reading technical reference manuals, and drooling over case tools. So I suppose it comes as no surprise that my newest obsession focuses on a tantalizing new PHP framework a friend of mine recently turned me on to, CodeIgniter.
CodeIgniter interests me so much because it implements a Model-View-Controller development pattern. M-V-C is a big fad in web development right now, with good reason. As the awesome people at EllissLab will tell you, MVC is a software approach that separates application logic from presentation
. In a nutshell, it means we have content separate from structure separate from style. That is something of a Holy Grail for web developers, since it makes our web sites ever so much more efficient, clean, and easy to maintain.
With a good framework like CodeIgniter, you could build a custom CMS to rival pretty much any popular software in use today (Wordpress, Drupal, Joomla), but without the need to spend weeks working weird bugs out.
I also have been turned on to CakePHP, a very similar MVC framework. It's user docs seem to be a little easier to read, and the website definitely is appealing. I mean, who doesn't like cake?
:)
I haven't had time to do more than browse about half of the user manual for each framework, but from what I have read so far, I know what I am using for my next big project...
Check them out, and if you have time to try either for yourself, please leave some comments here and tell us what you think!
Tags
CodeIgniter, MVC, Web development
Updated
2008-10-07 01:08:00
Comments ( 0 )
Login or register to comment.
↑ Back to top