Thursday, July 30, 2015

More Programming

So.  After a bit of time away, I finally had some time to work on programming.  I’ve been working on the idea of a program that teaches speed reading.  Essentially, the goal is to present words to a sentence faster than the subject can normally read.  Sounds like a great idea, right?  Except that Java isn’t really a real time system, so getting threads to sleep for 240 milliseconds just doesn’t work.  That would equate to 250 words per minute reading pace. 

What I end up getting is entire lines of the text, in speeds that are considerably less than 250 words per minute.  Though… a little messing and reading made me realize my conversion factor was off.  It seemed like the answer should be…

(1000 milliseconds X 60 seconds) / (word per minute pace)

I revamped the equation to take a different method.  I think I was running into too many float to integer conversion errors.  Or at least that’s what I’m going to blame. 


But it looks like Java can’t do that kind of precision in waiting.  Googling lead me to a lot of the same answer.

If the speed is slow enough then the pacing works correctly.  But it looks like either 1) Java isn't capable of printing 1 piece of string at a pace of less than 300 ms, or 2) I'm not a capable enough programmer.  

So, that's that.  Perhaps it's time to go back to looking at C++.  

Saturday, July 18, 2015

On Call

Part of my unofficial job title is trying to figure out how to solve fundamental problems.  Fundamental problems are those that cause a collection of other issues.  One such issue is replacing the battery pack in a Ruby.  Replace the battery pack, and then you have fewer boot fix issues.  Getting rid of Buypak 6.00.06 seems to be one as well.  Maybe Buypak 6.00.10, too.

Anyways, solving those kind of issues involves a lot of thinking and some decent analytic software.  We use SysAid for our helpdesk/ticket management software.  It works pretty good.  Anyways, looking at categories of service requests is hard when you have serial offenders of people who don't categorize or assign service requests.  When you've got 100+ open service requests, and around 60 haven't even been given a category, it's hard to deal with the real issues.  With that many open service requests, it's hard to even identify where the real issues are.

I guess I'm used to using intuition and on calls to figure out where issues really exist.  On call is a special time.  I'm not going to lie.  Most of the time, they suck.  It's a soul grinding time of 60-70 hour weeks of nothing but pure panic level.  Everything is a crisis and the world is always falling apart.  Very few of the crisis are real crisis.  But it's a necessary evil.

Almost every on call teaches me something.  Moving in towards network administration, I get less of the day to day breakage and problems that occur.  In many ways, that separates my time away from crisis to solving bigger problems with longer term solutions.  But it is hard to solve long term problems if you don't know what those problems are.

Its fundamental root problems that need solved to really make a difference in the amount of service requests.  If you don't solve those problems, then you don't decrease the work order load.  Is the issue training?  Or is the issue user error?  Some user error issues can be traced to training issues.  Others can be traced to bad software.  It's a matter of figuring out which is the real issue.

What does anyone else do to solve fundamental issues?  What about on calls?

Tuesday, July 7, 2015

Antiquated, Arbitrary Systems

I home school my children.  Why I do that is a subject of a different post.  The subject of this post is to understand the contrast between public, private, and home schools.  It is fairly obvious to me that public schools as we know it are a way of the past.  The need to learn more material at a faster rate needs better methods of teaching that are more reproducible.  The herd mentality isn't going to work as a system much longer.

Think of the average public school.  You have a collection of subjects taught in a micro landscape with no tie to the rest of the world.  Secondly, you have students at differing levels of interest being forced in with those students who have no interest.  Third, you have an arbitrary knowledge level system that forces every student, regardless of ability, into a group.  Tackling these issues has been something home schooling has never had to deal with.

And before I move on, class size doesn't matter.  I had a high school size of 140 and no class I took had more than 20 people.  And yet there were still people who passed high school barely capable of reading.

Now, I'm thinking the answer is going to be a combination of software and hardware.  Software provides the basis and the consistency of the system, while hardware produces the interaction.  Would an hour of class be as bad if the student spent their entire time standing, working on the board?

Secondly, you could have the program tailor itself to each individuals skills and abilities.  No more passing because the teacher just doesn't want to deal with you any more.  Computer programs have infinitely more patience than the average teacher.  The converse to that is now the gifted students will move at the pace that keeps them challenged as well.  If they learn a subject in five minutes and can prove competence in the next twenty, then there would be no need to keep going on for another fifty minutes.  Move on to the next subject so that gifted mind can keep up.

And when the mind hits a roadblock, the system slows down and doesn't let them move on until they have mastered the subject.

I think I envision the next generation being raised by computers in individual rooms or cubicles.  The teacher still exists in this environment, but their purpose is to help frustrated kids and give the hands on approach to the child that needs it.

I know the system we currently have does not work.  That's quite evident.  So the goal is to radically redesign the system to something that does work, and is reproducible.

I also seem to remember something years ago that stated Algebra was a college level course.  And now, it's a junior high course.  If you want the next level on movement, you have to get more people up to a higher level learning faster so those people can spend more time with the requisite knowledge to figure out the hard problems.

Sunday, July 5, 2015

post CCENT

I passed the CCENT.  Grading criteria was between 300 and 1000, and passing was 803.  I scored a 907.  Hooray for me.

The test was copyrighted 2013.  There was a lot of subnetting through out.  Not much IPv6.  There was four question problem on OSPF.  Another was on security settings.  Which reminds me.  I need to test one of the configurations they performed.  Because I think I know the answer, but I don't know if I was correct or not.  

I guess now on to something else.  Back to studying the stuff I've been studying.  I'm currently reading Simple Nature by Benjamin Cromwell.  After that, it's on to Mechanics and then my study of physics takes a temporary break.

Other stuff I'm currently reading include The Book of Five Rings by Miyamoto Musashi.  After that one is finished, it's off to The Hacker Playbook by Peter Kim.

There's an entire list of books after that, but that collection will keep me good for several days.

Remember: people don't grow without intentional effort.

Wednesday, July 1, 2015

As the world burns...

The world burns.  I study. 

I’m concerned with Dora (Discover, Offer, Request, ACK) the DHCP explorer and her friend Bubu  (broadcast, unicast, broadcast, unicast) and learn on source, forward on destination.    

Open suckiest path first:  Hello, dead beat dad.  Losers suck right?  Losers suck up.  Ack.  (link state packets for OSPF.)
Basic ACL near destination
Extended ACL near source
Deploy access class to limit access to console
Default information-orginate
Ip helper-address


I’ll know Thursday if I pass.  Wish me luck.