Recently in Technical Category

Possibilities for Portals

| | Comments (0)

In an email this evening my literature instructor asked me what my plans were for my portal… at first I had to remind myself which site I had identified as potentially becoming a portal, and then I remembered, the curtis.kularski.net project. I honestly do not know what I plan to do with it completely. There are so many aspects of me, and I would like to incorporate them all, but I am a very complex person. It is programmatically difficult for me to implement Site Engine in the way I want at this point. Another problem I am facing is the concept of the “groups” of people. Those groups are becoming less diverse as I become more comfortable with myself in general. I no longer fear people knowing a lot about me, so really my world gets broken up into: public, friends, family (biological), and academic. In some ways my academic life could safely cross into the same category as “friends” for access level, but that might present too much of a “too much information moment”.

The portal idea is becoming more feasible however, as my art prepares to enter its own special virtual gallery. The portal, the gallery, and the blogs… that is my world, and its a small world after all.

Maximum Password Hack Times

| | Comments (0)
Passwords Time to Hack
4 character lower or upper case letters a few seconds
4 character lower and upper case letters a few seconds
4 character lower and upper case and number a few seconds
5 character lower or upper case letters (e.g passb) under 60 seconds
5 character lower & upper case letters (e.g passB) approx 6 minutes
5 character lower & upper case and number (e.g Pasb1) approx 15 minutes
8 character lower or upper case approx 58 hours
8 character lower & upper case approx 21 months
8 character lower & upper case and number approx 7 years
10 character lower or upper case approx 5 years
10 character lower & upper case approx 4648 years
10 character lower & upper case and number approx 26984 years

Borrowed from: http://www.uncfsu.edu/itts/networking/passwords.htm#6

How long does my 14 character password with uppercase, lowercase, numbers and symbols take?

Wider is Better

| | Comments (0)

I have narrowed my side column on the blog. This results in a wider place for my actual entries. I will also be soon removing some useless junk from the side column.

Exceptions

| | Comments (0)

I have had a few programming classes now and it seems as though programmers are being trained to program for failure rather than success. One of the features of modern programming languages is exception handling. While this is a nice feature, because users do stupid things and we don’t always need an application to crash just because we might have a typoed letter in a box where we are only expecting numbers, it sets the wrong focus on programming. We don’t write code to “run” anymore, we write it to “try”, and then we catch anything that could go wrong. This is nice functionally speaking, but perhaps this is something that should be a little deeper in the language itself. It would be nice if a first-year programming student didn’t have to consider whether or not the user of his second program (first is always “Hello World” and output only) will return data that his variable won’t accept. In most languages, if you give bad data, the application will crash unconditionally, wouldn’t it be cool if programs could just naturally throw a generic type error and give the user a second chance?

Simple C# Database Application

| | Comments (0)

image

Basically, it prompts for a GITI ID, user enters an assignment number from the Education module, and it calls the database server and asks for the class code and the assignment name. Nothing special yet. I'm using the MySQL Connector for ADO.NET. It's kind of lame, but is my first step towards a version of GITI that doesn't require a web browser. This version talks directly to SQL, and its designed for an end-user, but my vision is to create a console-based server that will handle authenticating users and things like that, handling the interaction with the database itself. Ideally, the Windows Application will then talk to that server and perform its actions, while also maintaining a local cache of information.

In PHP, GITI's native language, what I did looks something like this:

//get user input for $assID from form
$sql = "SELECT Code, Assignment FROM `homework` WHERE `ID`='$assID'";
$sql_result = mysql_query($sql, $connection);
$row = mysql_fetch_array($sql_result);
echo $row["Code"];
echo " : ";
echo $row["Assignment"];

 

In C# it looks a little more like this:

string assID = tIn.ReadLine();
            string selectStatement = "SELECT Assignment,Code FROM `homework` WHERE `ID`='" + assID+"'";
            MySqlCommand selectCommand = new MySqlCommand(selectStatement, connection);
            
            connection.Open();
            MySqlDataReader custReader = selectCommand.ExecuteReader();
            if (custReader.Read())
            {
                string ClassCode = custReader["Code"].ToString();
                string AssignmentName = custReader["Assignment"].ToString();
                tOut.WriteLine(ClassCode+" : "+AssignmentName);
            }
            connection.Close();
            Console.Beep();

 

Both are very simple. In both examples, the connection properties for the server were set before the lines of code shown. C# is more manageable for doing this type of work once the "data assisting" features of Visual Studio 2008 are ignored. I love C# so far, but I am quickly learning that I can learn to love Visual C++ as well, there isn't a lot different between the languages (why should there be, they both convert back to .NET Assembly). My frustration that I developed with C++ resulted from not ever being able to find documentation that I need about available "classes", and when I did find the classes I needed, they required additional classes to make them work. An absolutely endless cycle. For C#, there are a lot of built in classes for most common functions, and the documentation is plentiful (not the mention Visual Studio's ability to read and define constructs in the classes as I get to them, providing me with instant ability to use functions). 

I still have to pick what language I want to take an advanced course in (for my Computer Programming degrees).

Promiscuous Web Crawler

| | Comments (0)

http://arachnode.net/

This thing has been keeping up with my blog, maybe even more regularly than my normal stalkers do. It has been keeping up with my tags, categories and everything. Its a little bit odd.

http://arachnode.net/blogs/disturbingthoughts_net/default.aspx

Best Argument Against Open DNS

| | Comments (0)

http://www.publicroot.org/technical/INS-TLD-compilation.txt

This is a complete list of TLDs that had been detected as in-use on the Internet as of the survey date on the file. This means that a DNS server somewhere on the Internet had to announce the TLD on the Internet. If the DNS system is open, then it is likely that a TLD list that is this fucked up would exist in THE root zone. At present the restricted ICANN TLD registry (maintained by IANA) keeps us safe from this insanity. If you are bored enough, scroll to the K's and find "Kularski". Any yahoo (its on the list too) can have a TLD presence.

Yet another web browser

| | Comments (0)

It used to be that an Internet user had 2 choices for a web browser, IE or Netscape. Or in short, the browser that worked or the one that didn't. Nothing ever worked on Netscape, everything worked on IE, then we jump forward a few years and now there is Internet Explorer, FireFox and a variety of lesser used browsers. There is no huge difference in compatibility, except for a few situations of badly written apps. Tomorrow Google will add their attempt to all of this. Google Chrome will be released on Tuesday as a browser designed specifically for web applications.

I am doubting that Google Chrome will be any more interesting than other modern browsers that copy each other.

What contract?

| | Comments (0)

In the last few days I've been working with an individual at my old high school on some problems related to the DNS of the schools domain name. Today one of the emails included the following line:

"I know this goes beyond the scope of your contract with us, so I just wanted to let you know that I do appreciate the help!!!"

Its funny in so many ways. There is no contract first of all. I do what I do because I for some reason still care about the school. Second, my only relationship now with the school is that I am the reseller handling the registration for the domain through Enom.

This person has no idea what she is doing when it comes to the domain name, or the web presence of the school in general.

In June she received a email telling her that her hosting provider needed her to change DNS servers for the domain because they were changing "platforms" and their robot picked up that the domain didn't transition. After receiving the email she contacted hosting support, and they told her the domain was registered with Enom. Enom promptly informed her that she had to deal with PCFIRE Domain Services (thats me smile_regular) to get the change made, since she didn't have web access to the domain. Funny thing here is that she DID and unfortunately still DOES have access to the domain from the web console. She tried emailing me at an address that dropped her directly to SPAM and she called me in a panic trying to get things working. I checked my voicemail 2 days later. I was given very little information about the change that was needed, so I decided to blindly make the change for her and let the burden of DNS rest completely on her. I warned her several times that there may be unpredictable side effects from doing the change.

I received no reply from her. A few days ago, another panicked email. One of the instructors couldn't get to their web page because it wasn't where it was supposed to be. She emailed me to see if maybe it had something to do with the change she ordered. Hmm.... you think it just might? I checked out the website and discovered that it didn't seem to matter about the external hosting, so I mimicked her existing redirect configuration (domain is on external hosting, just to be redirected) and replied asking if everything was ok. She was extremely happy. Funny thing is... all I did was move the servers back to where they were before June's little game.

I suspect I will have to deal with her again in a few days when she finds out that e-mail is not functional for the domain. Apparently Enom stores the domain's host informations, but not its MX (email) records. I do not remember the server addresses and the email provider doesn't list them publicly, so I seriously hope when she emails me about that, she is able to provide me with the MX records for the domain. Email was something else she was warned about in June, but I suppose she was just worried about the web presence and not student email, which wouldn't be relevant until August 25th, in 5 days.

WTF?

| | Comments (0)
A:\CSC153\PROJECTS>dir
 Volume in drive A is DATA
 Volume Serial Number is DCA1-B951

 Directory of A:\CSC153\PROJECTS

08/19/2008  23:39    <DIR>          .
08/19/2008  23:39    <DIR>          ..
08/19/2008  23:39    <DIR>          HelloWorld
08/19/2008  22:58    <DIR>          InvoiceTotal
08/19/2008  22:58    <DIR>          VSMacros80
08/19/2008  22:58    <DIR>          WindowsFormsApplication1
               0 File(s)              0 bytes
               6 Dir(s)  67,751,673,856 bytes free

A:\CSC153\PROJECTS>cd HelloWorld
Invalid directory

A:\CSC153\PROJECTS>cd HelloWorld
Invalid directory

A:\CSC153\PROJECTS>cd HELLOWORLD
Invalid directory

I really hate that long file-name barrier! It is so easy to go over 8 characters and not even notice.