Sunday, December 20, 2015

The normal answer

I've been working like a crazy man the last couple of weeks.  Putting in hours the normal individual wouldn't consider sane.  But it's done.  Or at least at a temporary standstill. I started writing an article about the time spent.  It wasn't worth a shit.  I haven't moved on.

I started writing, and it seemed like a good thing.  Then I realized I sounded like a whiny little bum.

Too much "oh poor me".

And another part of me started speaking up.

"What would haji do?"  Do they care that you haven't slept in 36 hours?  Are you still sane?

When your friends die, what's your excuse?  Did you do your best, or did you roll over like a little bum?

What could you have done?  Why are you living a life of regret?  Grab the wheel and force the ship in the direction you want it to go.  Damn the torpedoes.

Quit making excuses.  Grab the wheel.  Put your back in to it.

And if it isn't moving, start kicking it.  Kick until it moves.  Make it move.

"Does haji care you had a bad day?"

"Does haji care you haven't slept?"

Move the damn wheel.

Make it move.

Haji will kill you and not think twice.  He will drop a bomb on your day and completely fuck your world.

Adapt.  Improvise.  Overcome.

Don't let that asshole keep you from your goals.

Don't be an excuse.   Be an answer.





Dedicated to 3/4 and 3/5.  The assholes that saved my ass in a firefight.  Because when I was weak, they were strong.

Ooh rah.

Wednesday, December 2, 2015

Useful Cisco Commands

Here's a collection of Cisco commands I still haven't been taught by Cisco.  But I learned through various other methods.

terminal monitor
and
term no mon
Terminal monitor is the answer to all remote diagnostic issues.  So when you ssh or telnet into a client, you then get the output you would if you were on site.  The only problem is that output occasionally drives you mad as you try to figure out the solution to a problem.  How in the world do you turn it off?  That's where term no mon comes into play.  It turns off console connections for after they have been turned on with terminal monitor.  Terminal monitor is taught in class.  Term no mon is not.

term len 0
Another terminal command.  The terminal length command tells how many lines of output to display when you hit a key.  But term len 0 has a special use.  Let's say you want to do a quick examination of the entire running config of a site.  How do I do that?

Using Putty, turn on logging.  I'd actually recommend setting logging to default so it logs every piece of output forever. Might be useful when you have other issues.  Next, remote access the system via telnet or ssh.  Next.  term len 0.  You now just set the terminal length to 0, so it will display the entire output without having to press a single key.  Guess what?  No more parsing crud out of text files.  You now have a complete running config stored in the Putty log file that only needs minor parsing.  No more removing typing, input characters, or what not.  Just open the file and remove the login/logout sections.

Next, exit.  Do not save.  No not write.  That way, the next time you log in everything will be just as you found it before.  No weirdness or strangeness.  Otherwise you might have to use term len 10 or something to that effect to put it all back together again.

monitor session 1 source interface interface_name/number
monitor session 1 destination interface interface_name/number
The only pair of commands in my list.  I've only used these commands on switches.  They might work on routers as well.  Not sure.  But here's the great thing about these commands: along with Wireshark, you can kick back and examine all the traffic going through a device in order to try and troubleshoot communication issues.  It's kind of like a programmable hub, but better.  And, you can monitor as few or as many ports as you want.  I'm sure there's limitations to the commands, but like I said, these are things I've learned that classes have never taught me.

So, there you go.  A short collection of Cisco commands that seem to make life easier.  Or get rid of terminal monitor after you start it up.  Hope it helps.




Monday, November 30, 2015

It's always easy

I was going to write something on a subject I conjecture about, but really know nothing about. So I decided to scrap that and go with something else.  Perhaps this.  This might get scrapped before I finish writing it.  If not, lucky you!

I'm struck by how everything is always described as being "easy" as long as you use the correct method.  Which seems really strange because you need to know the correct method in order to use the correct method, and learning the correct method is generally trial and error.

Anyways.  I really see two variations in this theme.  One sells books, and the other is the truth.  The first is that everything is always easy.  Which is strange, because I can't describe anything I do as easy.  Sure, I make it look easy.  But I've got 5 years of hard experience in my job.  I've also done an okay job at learning how to learn.  I also understand that the primary way to learn is something I call blunt force trauma.  The goal with blunt force trauma is simple.  Beat a subject into your brain until it sticks.  Keep doing it over and over and over again. I've heard of plenty of shortcuts, but none of them work as well as blunt force trauma.  That's how I've passed my Cisco classes.

Because really, learning is work.  And work by and large is hard.  But it is fulfilling.  But it's hard.  It's a lot easier to kick back and use some passive method of studying.  I could watch videos all day long and not gain anything out of them.  Nor could I tell you what I read.  It just doesn't stick.  Because it requires no interaction and no concentration on my part.  Perhaps if I'd trained my brain differently, then I would instantly start learning the instant I sat in front of a TV.  But in reality I've spent years telling my brain to sit down and shut up when I'm in front of a TV.  And usually, my brain rebels.  So I watch about 30 minutes of TV a week.  There's far too many other things that I find interesting and would like to engage my brain in besides passive non-interaction.

At the moment, I happen to be reading Peak Learning by Ronald Gross.  He has a tendency to use the "it's so easy" method quite a bit.  But I've also covered 1/6 of the book, and he has yet to begin discussing learning how to learn.  And that's the purpose of the book, right?  So the question becomes when does the author try to get into the material so I can start learning how to learn?  In general, I'll probably gain 2-3 good insights out of the book.

I also happen to be reading Computer Vision by Dana H Ballard and Christopher Brown.  In comparison, I haven't heard anything described as "easy".  In comparison, it's better described as dense and/or heavily packed.  There is little room for fluff in this book.  Unfortunately, there's not really an easy way to go through that book.


Thursday, November 26, 2015

Last Projects for Cisco 3

So I just finished my last two packet tracers for my Cisco 3 class.  Presented, for all your wonderful glory, is a picture of my EIGRP capstone project.  

Which I have to admit is about as complicated as some things I've designed for work, and are actually in operation.  The fun thing about this one is I ended up setting up DHCP on every single one of those networks in there, so the end user connections are all DHCP assigned.  The EIGRP portion wasn't that difficult.  Mostly, it was just labor. 

The interesting thing was in creating the ISP connection.  Really, it's just a router with an assigned public IP.  From there, I added a default route back towards the network I designed.  It might have been more interesting to design the thing as a multiaccess network, but who cares.  The system wanted a multiple location EIGRP network.  So I used serial connections.  And funny thing is, I've never had to set up a serial connection in real life.  All Ethernet based.  One was PPPOE, and that was a bit annoying to set up.  

So now, all I have to do is study for the final and start working on the next book.  In the process of taking over four stores.  Isn't work fun?  


Friday, November 20, 2015

Correlation/Causation

I think there are two big difficulties in the IT world.  Both are especially relevant to the C-Store world.  One is turf wars.  Turf wars are when departments are more concerned with covering their own behind rather than working with other departments.  You can only hope to fix that one, but it's not likely going to happen.

  The second issue is this: correlation does not equate to causation.  In laymans terms: just because two things happened around the same time doesn't mean one caused the other. I had a failed Verifone Commander install a few days ago.  I could never get the gas pumps to talk.  They happened to be Gilbarco Advantages.  This was my first site with more than 16 pumps.  Interestingly enough, this was my first site with more than 12 pumps.  That number becomes relevant in a minute.

Anyways, credit processing worked fine.  Ran like a champ.  But I couldn't get the pumps to talk.  The site was Gilbarco with a PAM 1000 and 2 D-Boxes.  I spent a long time trying to get it to work, but never could.

So I decided to put the old equipment back in place, and attempted to get it back to working.  Pumps still wouldn't talk.  I finally called in some pump techs, and we got 5 of the 10 dispensers communicating.  We decided that was good enough for now.  After the weekend, I called the pump company and scheduled them to come install the site.

The install was done in 4 hours.

What happened?  Remember that magic number 12 I was talking about before?   The PAM 1000 can only address 12 pumps with a single board.  You can add more boards to talk to more pumps.  But you start over the pump addressing.  This is not information I knew prior to installing.

So, when I plugged 16 pumps into one board, nothing would talk.  Why?  Because there were duplicate addresses out on the system.  Not only that, there were multiple duplicate addresses.  Because fueling position 13-20 had internal pump number of 1-8.

The fix (had I known the situation) would be renumber the pumps.  Which is what the pump company did.

Or, start over on the 2nd fuel board at position 13.  That would have solved the issue quite easily.

So where does causation/correlation come in to this argument?  Simple.  The belief that changing out the point of sale system caused the pumps not to communicate.

I'm not a pump tech, and that's rare in this industry.  I am a Verifone VASC and a CCENT, but my knowledge stops at the 2 wire going to the pump.  I have to work with other pump techs and hope they know what they are doing.  And hope that they aren't having turf wars.

As a footnote to the story.

As I was leaving the parking lot, I noticed the site was changing gas prices.  After getting back ot hte office, I had conversations with 4 different people about why the price sign wouldn't change, and no one seemed to believe what I was saying.  The gas price sign was changed by a key fob.  Always has.  I didn't mess with that during this install.  But now, the gas price sign wouldn't change.

It took a bit of convincing to for people to realize that the gas price sign was at fault, not the point of sale system.

Anyways...


Tuesday, November 17, 2015

Defeated

What to do during adversity?  Most of the time I think of decisions I've made.  Generally always the wrong ones.  Would it have been smarter to get in the situation three months earlier and without a second loan?

The last month has been a roller coaster of adversity.  I've found myself mostly responding badly.  The answers seemed logical, but all turned out to be the wrong thing.  What happens when you have such a colossal string of bad decisions?  It's been mentally defeating.  The debt I'd paid off this year returned in a matter of days, despite my best attempts to get rid of it.  One step forward, one entire year back.  Right back to the beginning.  Did I mention I hate cars?  I really do.

This is 5 years in a row of cars that can't seem to last a year.  And around Christmas time every single time.  I feel hopeless and helpless.  Part of me wonders about fate.  Part wonders about things I can't control.  Part goes back to the old ideas of God teaching people lessons.  Part goes to the Millionaire Next Door.  Part goes to blame.  Part goes to self blame.  

It's a cycle I don't seem to be able to break.  I don't understand the causes or effects.  I keep repeating the same lesson over and over again.  

Tired of the lesson.


Must find myself so I can drag myself out of the mud hole.  Just have to find the right mud hole.

Friday, November 6, 2015

Back to SNMP and other things

I used to hate SNMP.  I’m not sure I still don’t.  It’s been annoying to set up.  I’m still fighting with SNMPWALK on SNMPv3 and getting data from a Cisco router and switch. Eh well. I’ll get into that at some other point.  


I have to admit Cacti was one of the better than I thought it could be.  I followed the right instructions and have started doing some SNMP polling and producing some decently relevant graphs on information someone in IT would think could be important.  Luckily, I happened to set it up on a site that had Internet issues later that day.  It worked out great because I ended up diagnosing the issue while trying to connect to my Cacti web page.  Turns out there was interference on the network in the area and the site was dropping about 18% of packets.  Which explains why they were having network connection issues. 

 The other thing I keep looking and thinking about is network security.  Which seems to be something everyone says they need, but no one does anything about.  I pissed off a networking vendor because I told the person I wanted three single purpose servers instead of one multipurpose server.  Everything I've ever read on servers says one purpose per server.  Don't end up with a multipurpose server. 

Eventually, the server needs replaced.  And then you have numerous tools that need replaced or fixed in order to solve all the problems you used with that server.  I mean sure, the RADIUS / print / file server / new thing part two server is great.  But wouldn't it be simpler to have a RADIUS server that does nothing but RADIUS authentication.  Or a print server that does nothing but handle printing.  And then, when you need to upgrade that server you take down one function.  Instead of the 25 different things running on one server.  

I guess the second part of that conversation is "don't turn on any service that you don't need" on a server.  Great.  That's a lot simpler with a single purpose server.  The print server doesn't need to do anything but print.  The file server needs fat bandwidth to reach it, and that's about it.  Virtualize it all.  It's not like you need a physical server for all that.  

But what do I know?  

Friday, September 25, 2015

Exoneration

Let's talk about exoneration for a minute.  Exoneration is the idea that I can do something for a period, and then quit doing it forever.  The concept is usually introduced when talking about money or fitness, but it's generally used all throughout life.

The mindset is generally this: if I can make it to X, then I won't have to do this sacrifice ever again.

The X factor is always different, based on the mental picture that has developed.  But it's all based on the concept of exoneration.  And the hard part is there is no point of exoneration.  Almost never.

Yet people reach endlessly for the exoneration point.  I'm not saying you shouldn't reach.  What I'm saying is you can't ever quit.  Because if you quit, you go back to being what you were before you started.  Dieting is generally a big exoneration subject.  The key to success with diet and exercise is a long term plan.

You are not going to fix whatever problem you have with your weight or health in three weeks.  It's just not going to happen.  You can take almost anyone and put them on an exercise plan for three weeks, and they'll lose weight.  Why?  Because they weren't putting in any effort before.  But long term, the weight loss will stop or slow down.  Then the person will quit, and regain everything they lost.

Several months later, the same person will find a new "quick fix" and proceed to quick fix and lose 20 pounds.  Then the new will wear off, and then 20 pounds will recover.  My wife found a book that was talking about clients losing over 100 pounds.  Except it was the same 20 pounds over and over again.

Most multilevel marketing plans are sold as exoneration plans.  I'm not saying they are not worth the income if you can get them to succeed.  But they are sold as quick fixes in a world that needs long term solutions.

Quit trying for exoneration.  It doesn't work.  There is never a point at which you get to quit doing what you've been doing.

Unless you don't like what you are doing.  You do like what you are doing, right?

Thursday, September 17, 2015

Before work, kitchen table thoughts

I came up with an idea to teach my kids reading.  They are 5, 4, and 1.  I know I want to teach all three of them the same way.  That means I'll be repeating the same content three times.

The computer part of me says rebuilding the same content three times is ridiculous.  And it is.  So all I have to do is build the content the correct way once, and then start the next kid on their lesson.  In many ways, I think Khan Academy is revolutionary in the academic space.  I would love to see something like that for English.

The program I'm writing is based on Teach Your Child to Read in 100 Easy Steps by Siegfried Engelmann.  It's been a pretty awesome book so far, even though I've only made it through lesson 20 with my oldest child.

So the goal is to create something like Khan Academy for English, based on Englemann.  It's going to be interesting.

Tuesday, September 15, 2015

Kitchen Table

It's formica, and it's my kitchen table.  At least it doesn't look like it came from 1999.  Maybe 1975.

Maybe I should spend more than 5 minutes on the background.

Or, I could go back to studying Scaling Networks.

Back to studying.

Sunday, September 13, 2015

why....

Why do I go to church?

Because Jesus is there.

And if he's not, you are going to the wrong church.

Seriously.

If you don't feel the presence of Jesus at your church, there's a problem.  It's probably your church.  It might be you.  You'd best investigate.


Also....

The blue background seems to come straight out of the Matrix.   1999 called.  They want their meme back.


Friday, September 11, 2015

Circling the globe (the thoughts in my head)

I went on vacation this last week.  I didn’t spend any time working.  It was wonderful.  Now, it’s Saturday and I’m back to getting ready for work.  The mental processes are starting to grind away, and get back to what I was working on.  At the moment, I’m updating Visual Studio so I can work on the program I was writing in C#.  I know I’ve heard a lot of disparaging things about C#, but I’m not terribly concerned.  There are too many purists in the world. 

C# is a tool.  Nothing more.  If it’s not the tool you need for the job, then don’t use C#.  C++ is a tool.  Java is a tool.  Visual Basic is a tool.  They are all tools.  Nothing more, nothing less. 
Each tool out there has a specific use, and some tools are better for certain applications.  I can’t say C# is any better a tool than Java in this case, but it’s a tool I can manipulate easier.  I also spend a lot less time fighting the interface and more time working on what I’m interested in working on.  As such, the thing already reads XML files, runs threads, and generally works like I want it to.  It’s not complete by any means, but it’s on its way there. 

In the period since I started writing this (it’s been about a week) I read Seth Godin’s Small in the New Big.  It’s quite a remarkable book, and there’s a lot I’d like to say about it.  I’m really not sure what to say, though.  There truly has been a paradigm shift and in the world, and those trying to follow the old paradigm seem to be getting left behind.  It’s much easier to follow the new paradigm.

But what is the new paradigm?  I think the answer is release early, release often, and benchmark everything.  Quit trying to make something perfect, and make something you can release. 

So I think I’m going to go with that, and make something I can release.  I’ve already started working on it, but it’s neither groundbreaking nor amazing.  But it’s something. 

When you release often, you end up basically throwing a lot of stuff up, and hoping some of it sticks.  I’m not sure if that makes sense, but it does to me.  If I release something in the next month or so, then I’m doing better than I have in the last few years.  Too much thinking and trying to come up with the perfect idea.  Too little time releasing. 


I think I also realized the background for the past few months (maybe a year) has been chemistry related.  I like the picture, but this has nothing to do with chemistry.  I should probably change that.

Wednesday, August 26, 2015

C# this time, and Lua

Well, after a bit of digging, I'm back into C#.  I'm looking at that because of the need to examine the current status of a network.  And I had something like that built in VB.net, but i couldn't figure out threading.  So the program didn't play nice or update very well.

Well, I found a few webpages and figured that out.  This post on dailycoding.com was one of them.  That really helped get the ball rolling, so now I can run a ping function in the background and invoke updates to get things changed during program execution.  I'm guessing that I finally learned something out of that one because the code had been stripped down enough to where there wasn't a huge collection of extemporaneous junk that needed beat past.  Is it that hard to write code documentation that gives basic understanding without having to reinvent the wheel?

Which brings me to Lua.  I started using some products from Digital Loggers.  Basically the Rack Mount AC PDU.  It's a great product with a great concept, but changing from Basic on the Web Power Switch to Lua on the Rack Mount AC PDU causes havoc.  All the scripting type stuff that used to be easy with the Basic scripting language now has to be rewritten from scratch.

Did I mention you have to fight past bad Lua documentation?  I'm not necessarily saying Lua has bad documentation.  I'm saying Digital Loggers implementation of Lua is a pain.

For example...

function test_display()
    DISPLAY "\1Percent %%\v"
    DISPLAY "\2Backslash \\\v"
    DISPLAY "\1%a\v" --  current Bus A

This is an example of some code provided to change the display.  

Great.  Can someone tell me where the variable name is in that code block?   I know the -- blocks are comments.  DISPLAY is a command to show something on the display. Got that working.  Great.  

Secondly, on the script bit I know the line \1% indicates the first line, and anything afterwards is printed out.  But where is the variable?  

So if I want to put in a wait function, and then display on the screen "rebooting computer", I have to write individual reboot functions for every single device.

I could just write a wait(time in seconds, device name as string) function and call that whenever I needed.  But as is, it looks like I'm having to write inline functions.

Joy.  That defeats the entire purpose of object oriented coding and complex scripting languages.

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.




Sunday, June 14, 2015

Rats vs Unicorns and the educational system

I’ve been spending a lot of time thinking about many different things.  Mostly “why” type of questions.  Perhaps I should elaborate.  Or not.  I don’t know.  I think the real problem is two-fold.  See, I don’t think I learned what I should have learned in school.  Reading, writing, and arithmetic are general subjects, but those aren’t the primary purpose of sending people though school.  As a creator of success, school is an absolute failure.  It’s been highly touted, though I’m not sure highly researched, that if you take 100 people out of any school the results will be vastly different.  Out of those 100, perhaps 10 will be moderately wealthy.  1 will be supremely wealthy.  And 90 will have zero or negative net worth. 

If that’s the case, then what are schools teaching?  Because if 90 out of 100 have a negative net worth, then that’s a fairly large failure rate.  What metric is being used to measure success?

I went through those systems.  I spent a lot of time learning the wrong thing.  And I’ve also spent a lot of time trying to learn and relearn the correct things.   The only problem with that is I don’t know what I need to be learning.  This shouldn’t be something that I have to redesign by hand.  It’s 2015.  Why haven’t we figured out how to train and teach for success yet?  Is the answer so complex that humans are incapable of understanding or developing the solution?  Or is it that our mental concept is so self-centric that we can’t think of long term solutions for education? 

I’m beginning to think the answer relates to rats and unicorns.  There’s a mental separation between those two animals.  They are more different than they are the same.  Unicorns are special, unique creatures.  They are these magical beings that are impossible to catch.

Rats are simple creatures.  There are more of them than humans.  There are rats everywhere.  There is roughly nothing unique about them.  A good 80% (assumption thrown in based on Pareto principle) of what makes a rat a rat is no different than any other rat.  It’s only via minor parts is the average rat ever special. 

So what do rats and unicorns have to do with education and technology in general? 

There aren’t any unicorns. 

There are a lot of rats.

Remember those two facts.  The next time someone discusses the uniqueness of what their selling, try to determine what is truly unique.  Mostly what you will find is a rat in a hat.  80% the same as every other alternative.  Really. 


There are no unicorns.  Just a bunch of rats with different color fur, or a hat, or something else that makes the rat not look like a rat.  

Sunday, June 7, 2015

Garbage In/Garbage Out

I’ve been thinking of the concept of garbage in / garbage out.  It’s a computer science concept.  It’s an interesting concept.  The idea is that a computer is capable of processing all sorts of data, not just good data.  So if you give a computer bad data, it will spit out bad results.  Makes perfect sense in the computer world.  But what about applying the concept to life? 

Seems perfectly applicable to me, but it’s hard to interpret what constitutes good or bad information.  The basic concept I’m trying is limit the type of music I intentionally listen to.  I find that it’s hard to maintain the correct mindset when being assaulted by lyrics that preach the wrong kind of information.

Building the concept of where I want to be in relation to where I am is only limited by what my mind thinks I’m capable of.  But when you feed your mind information telling it that something can’t be done, then you are defeating yourself.  Logically, your brain is sitting there telling you that the music you are listening to is not affecting you.  But it is, and the effect is incredibly subtle.  It’s something easy to test, though it requires a bit of discipline.  What I did was eliminate music with words from my day to day listening. 

I guess I spent too much time listening to people doing bad things to other people.  Or listening to music written by people who are convinced the world is out to get them.  Or those that think the world owes them something.  I’m generally more inclined to think the world is ambivalent to individual existence.  Life is not fair, or easy.  But that doesn’t mean there is plenty of great stuff to pull out of the world.  In the grand scheme of things, the individual human life spans a very short period and has very little impact.  So really, our lives don’t matter all that much.

But mentally, people don’t want to believe that.  They want to believe in the importance and reach of their life.  But it’s simply not the case for the most part.  So you get a collection of garbage thrown in your brain that tells you the wrong thing and leads you to the wrong conclusions.  And generally, these conclusions are very logical.  Andy Andrews describes it as “thinking logically to the wrong conclusion”. 

So my recent approach has been to take in less garbage with the hopes of getting better information out.  I recently took a 4 day weekend after 17 straight days at work.  I had to work 17 straight days because I had been focusing on solving the wrong problem.  See, there’s the right problem and the wrong problem.  If you solve the wrong problem, you have to keep solving the problem over and over again.  It just doesn’t work.  What I finally realized in those last three or four days was I could have easily avoided working 17 days straight if I had done the correct thing.  What I needed to do was document better.  If I had documented better, then I could have turned anyone calling me to look at the document in question and follow it to its conclusions.  If the document was incapable of producing an answer, then there must have been some other issue.

What good does it do to create wonderful systems that have no documentation or notes? 






Monday, May 25, 2015

Leg Work

I always wanted to write a program that took forever to run just due to the amount of processing it did.  Now, I think I’ve got one. 

Unless I remember to run the thing frequently, it takes about 85 minutes to process through all the files I’ve collected to watch the status of my network.  That’s not pleasant, but it’s working on getting better.  It shouldn’t take as long the next time, as I’ve written in a few checks and balances that prevent it from re-checking every single file over again.  I end up running a “select everything and see if you return nothing” comparison.  Afterwards, I move the folder off to a different directory to archive and eventually clean up that directory.

Which, all of that seems to be working properly.  For the most part.  There are still some issues I need to debug, and some error conditions that need to be solved.  But it’s working better than it did.  The second part is that I’ve finally got it to where it will take multiple input units in the same file, so you don’t have to have multiple scripts logging in every five minutes.  The next part is to start working on NAT table translating and interpretation.  I’m not sure how I want to do that as of yet.  Show ip nat translations gives all the translations, but is that enough information?   What else would I want?

I think that’s the basic problem of all network security people.  You want to gather information, but it begs the question of what the correct amount of information is, and what really needs stored.  And there is always the question of when enough is enough.  

Flipping back through my Cisco book, it looks like I’m going to need show ip nat translations verbose for several different reasons.  The main reason is that is tells when that connection was last used, and that’s vital to proper identification of what has happened.  It provides the “when” and “how long” needed to trace information back to the source.

Show ip nat translations just gives a static view of an event that happened. The connection could have lasted for seconds or it could have lasted for hours.  There is no way to tell.  So the need is to translate the verbose method of the call.  

Where do I go from there?  I don’t know.  At some point I’ve got to figure out how make Apache work the way I want it to.  But that?  That’s another day.


Note: bold notations are specific Cisco commands.  

Tuesday, May 19, 2015

The next steps

Now that the Routing and Switching class is over, it's time to get ready for the CCENT.  I'm aiming for that in the next month.  I was aiming for two weeks, but I can get a voucher for half-priced testing, so I'm going to go for the voucher.

That being said, let's go back to network security.

I had a AHA! moment last week on network security, and it leads me to believe a very large vendor does not really provide security updates.  They also have some serious problems with their code.  It's all Apache web server, but it's an unpatched version of Apache that still has some serious vulnerabilities.

About a year ago, or maybe a little less, I realized when we replaced a router, all of our internal vulnerability scans started passing.  It was weird.  But I didn't know what it could have been.  Over the past couple of weeks, I've been working on replacing their router with my own.  After breaking our internal vulnerability scanner for a couple of weeks, our vendor finally fixed the device.

About the same time, we ran into a situation where a location suddenly started showing up as failing when it had been passing.  Thinking back, during the intervening period we had upgraded the site and swapped out the equipment.  At that point, we had swapped out a router.  And suddenly the site started failing scans.

Not suddenly, but it seems like it.  So I started thinking about what could have gone wrong during the upgrade.  Everything is built from standard equipment.  The results are pretty predictable and cookie cutter.  So how did this cookie fall out of the cutter mess up?  We'd tried a different configuration with the router, and the site ended up failing internal scans.

So, why did this router fail and other pass?  It's pretty simple: access control lists.  There was an implicit deny on the VLAN with the internal scanner.

Now I know why my scans are all passing.  The door to the scanner is closed.  And the equipment we're dealing with is no way near as secure as we thought.  All because of Apache.

It's also the realization that I can fake a passing scan in less than 30 minutes by simply throwing an ACL in every single router we have.  It'd be easy.  I already know the syntax.  Come to think of it, I could make it highly precise, so it wouldn't be something I could automate.

Anyways.

It just pisses me off that a multi-national company can't patch Apache.  Or, that I have to find the holes in their system.

Now, off to figure out Apache on my own so I can ramp up my network base lining and turn all the data I've collected into something usable.

I should probably write an article on that.   It's basically a combination of Java, mySQL, and some Ubuntu cron jobs.

Wednesday, May 13, 2015

end of a semester

Routing and Switching is over.   Finished the final with an 85, closed book closed notes.

That should give me an A for the semester.  I need to prepare for the CCENT for the next 2-3 weeks, and then go take that.  Based on the Routing and Switching final, I need to study OSPF more.  I missed more than I would have liked on that.

Scaling Networks is next.   The book is on order.  I spent a few minutes looking through the chapter headings on the final book, and found the PPPOE section.   Yeah.  Book 4, right before the CCNA.

Moving on.   Back to site construction tomorrow, now that finals are complete.   Yay.

Monday, May 11, 2015

construction

Working on a site out of town.   Learning many new things.  The crash course in PPPOE was interesting.

Routing and Switching class final is tomorrow.  Need to schedule the CCENT for about 2 weeks from then.  That should give me enough time, without being too much time.

I think I've come to the conclusion that IPv6 will permanently be a WAN interface technology, while the world uses dual stack routers to NAT into IPv4 private addresses.  

One bad tracert and a nefarious person could find your entire inner networking scheme.  But that doesn't work if NAT is involved.  The door shuts at the front door, and not somewhere inside.  That's really the problem with globally routable IP addresses inside your network.  If you don't have tracert blocked, you'll end up giving away your entire network structure.

It's not the "one shot, one kill" approach to network security.  There isn't such a thing.  There is only security in depth.   Walls and trenches and gates and guards and ACLs and NAT and every other thing you can possibly through between you and the outside world.  Maybe some machine gun nests and razor wire, as well.

Friday, May 1, 2015

Onwards towards mastery (not even .01% complete)

I’m still continuing with my project towards mastery of Java.  I’ve said this before, but that’s 10,000 hours of working on Java programs.  I should probably be working on something like C++, but I’d rather not.  I spent a lot of hours on C++, and I just got pissed rewriting the same program over and over.  Or forgetting what one section meant and having to rebuild the entire thing from scratch when something impossibly stupid quit working.

Anyways, after 4 and a half hours, I can tell a difference in my technical abilities.  Yeah, there is still a lot of things to do and places to go.   I can tell you I’ve gone off in directions I’ve only contemplated going before.  Now, those areas are becoming a reality. 

And I’ve picked up this blog at over 7 hours.  Yeah.   Can you say leaps and bounds?  I’m beginning to see what is described when mastery is discussed.  7 hours of programming later, Java makes a lot more sense and doesn’t seem to be causing me near as many headaches.  I’ve probably done things in the slowest and most backwards way, but I don’t care.  It’s been a great learning experience.  I wish I could code for hours and hours on end, but I don’t have that kind of time.  Though I do admit, what I’m working on would definitely be useful in the creation of things I do.  

It really feels good watching an idea come together, even though it has taken a considerable amount of time.  What was originally just some random pipe dream is moving towards half complete.  There’s still a lot of changes, and some hard information to go through.  But I’m becoming convinced the path to mastery is a worthwhile path.

Though mentally, there’s the realization that I haven’t even completed 1/10th of 1 percent of the task.  But there’s a lot of fun to be had along the way.  Because really, the idea of staring at nothing and producing something great off the top of your head only works when you’ve done the prerequisite work.  And most haven’t.

But who cares about them?  You are either on a path to a goal, or you aren’t.  And all those other people who whine and complain need to decide what they want to do with their lives.  Because really, it’s nothing more than the application of time.  Malcolm Gladwell said it pretty distinctly: all you need to be a solo-ready musician is 10,000 hours of practice.  Anyone who puts in 10,000 hours of play can be a solo-ready musician.  Everyone that puts in 10,000 hours of play can be a solo musician.  Technically, anyone can do it.  It’s just a matter of putting in the time.  

Thursday, April 9, 2015

Logical fallacies

I keep seeing posts wander through the Internet about a husband that wants to pay his wife to stay home with their child.  In the end, he’s mad because he can’t pay her his perceived salary of close to $100,000 per year and still pay the bills.  

Let me say this up front: my wife is a stay at home mom of three kids, not one.  She has a very hard job in taking care of the household.

The value my wife adds to my life is incapable of being counted.  If I lost my wife, my life would be devastated from the loss of her.  Not from the loss of what she does.  I love her to death.

But it’s not a $100,000 a year job on the open market. 

It’s a horrible argument that is used to trump up the job of stay at home moms.  It’s an argument made by people who don’t know business.  It’s an argument made by people who want money for breathing.  If any one of these people really forked out the kind of money they talk about, they would quickly change their standards. 

But let’s get to the real problem with the argument.  The original writer of the argument assumes that everything a stay at home mom does should get charged at a different rate.  That’s just crazy.  Let’s make an adequate comparison.  I have an office.  I keep it relatively clean most of the time.  I don’t get paid a dime to clean my office.  I clean it because I’m not a slob, and because I’m an adult.  I clean it because it’s part of presenting a professional appearance.  But I don’t get paid a separate rate to clean my office.  I don’t work for a union that says I can only do one single job.  I do it all because that is what I was hired to do.  I have to do my job, plus all sorts of other little things that seemingly have nothing to do with my job.  Clerical?  Tied in with the package.  Negotiation?  With the package.  Data entry?  Part of the job.

The major invalid assumption of the argument is that each service is being purchased ala carte from an outside vendor.  That can be done, but hiring ala carte is about hiring a professional.  And hiring a professional means you get someone who works faster than the average person at their job. 

Let’s compare laundry.  If I was to hire ala carte for laundry, then I would bag my laundry up, and leave for work a few minutes early.   I would stop by a laundromat and drop off my laundry, and pay by the pound to get someone else to clean my laundry.   I would come back on my way home to find my laundry complete and ready for pickup.  Total amount of my time: 20 minutes.  And laundry goes for about $1 a pound.  Given an adequate clothes supply, laundry could be dropped off once or twice a week without real problems. 


Following that same line of reasoning, you could easily negotiate salary positions to handle every single household task.  And once the child becomes school age, then the amount of time hired to do those tasks drops dramatically due to the child being in school.  The average day would go from 10 hours to 5.  Half the time involved?  Half the pay involved.  Unless the nanny is hired at salary.  And that’s what the intelligent nanny is going to do to even out their paycheck.

Now, I'm excluding places where living expenses are out of control  Those places are just flat crazy.  And $100,000 in those local dollars is really not the same amount in comparison to other locations.  

Realistically, I've had to think about what would happen if my wife died.  And in that case, what would I do?   Really, I could replace my wife with a 15 year term life insurance policy for about $500,000.   In comparison, I need about $800,000 on me.  That's from the purely financial perspective.  

Due to getting out of debt, I don't have $800,000 on me.  I have $400,000.   So should I die, my wife is good for 5-6 years.  Should my die, I'm screwed as I don't have anything on her.  Kids each have a $10,000 burial stipend tied to my life insurance policy.  And term life is cheap.  I pay about $35 per month.  


Saturday, April 4, 2015

Speaking of Java and MySQL

So, I finally got my Java/MySQL connection working.

Hooray!


https://help.ubuntu.com/community/JDBCAndMySQL

Was where I learned to fix the "class not found issue".

After that, I dug up http://www.tutorialspoint.com/jdbc/jdbc-quick-guide.htm to get instructions on how to use/connect to the database.

Afterwards, I was capable of spitting out information to the system console from the database.  Holy crud!  

Definitely making progress today.

Yay.

Wednesday, April 1, 2015

The first two hours

In trying to program 10,000 hours worth of stuff in Java, I realized I was going to be building a whole lot of stuff.  After two hours, I’ve finished the first program.  It’s a translator that takes CIDR notation information and turns it into Snort rules.  The entire purpose is to block entire countries.  The problem is countries are large and have a lot of IP addresses.  Blocking China takes a few thousand lines of CIDR notation.   And aggregate it all into smaller routs?  Highly unlikely.  So you end up with 3,000 lines that you can either manually parse through or write a program to parse through.  I chose to write a program. 

And I’ve also come to the realization that in the run to get 10,000 hours, I’m going to program a lot of stuff.  That is a lot of time.  At 30 minutes per day, that’s 54 YEARS.  So at some point, I’m definitely going to have to put in a lot more effort than I currently am.  
 
So now that the Snort builder is done, what’s next?  Probably moving back to my automatic network test application.   Which is mostly writing text parsing.  From there, I’ve got to figure out how to design a database structure and get the information into a database.   From the database, I have to get data into a web form and display it on a web server that doesn’t exist. 

Just a slight bit complicated, but I’ve got nothing but time.  

After that, there's a SHA application I've been contemplating.  SHA is secure hash algorithm.  It's essentially a long number that indicates the properties and data of a file.  Well, if the SHA is the same for two files, then the file is the same.  So if you have a desire to back up data, you can create a SHA of every file on your system, and every file on the remote system.  Compare those two files together, and identify which files need transferred.  Do so, and you synchronize the data on both systems.

It's an idea.  Like I said, 10,000 hour is a lot of time.  A whole lot of time.  

side note: I realize this is April Fools Day.  I am not a practical joker.  

Friday, March 27, 2015

Pareto Principle in Action

My last experiment started as a practical examination of the Pareto principal, otherwise known as the 80/20 rule.  I had been making straight B’s on my Routing and Switching tests, and I wanted to consistently improve them to A’s.  In order to do that, I needed to know how much time I was spending getting that B. 

So I changed my study habits slightly, and decided to keep track of time spent studying.  I’d also read something about two competing South Pole expeditions.  One ran as much as they could every day.  Some days they didn’t go anywhere because the weather was bad.  The other went 15 miles a day, regardless.  They went 15 miles, and stopped for the day.  So I decided to try that principal with studying.  And the results were pretty remarkable.

I went from an average low B to a high A on the next test.  Hooray for me.   Anyway, this was the process. 
Read any previous notes I had made.
Grab a highlighter, and read 15 pages, highlighting what I thought was important.
Copy those highlighted notes into my printed notes.
Quit for the day.   Return tomorrow.

In doing this process, I found it only took about an hour a day, so I really had more time to work on other things.  Normally, I would have spent 3-4 hours straight on Saturday or Sunday reading and highlighting.  Granted, chapter 7 took me 387 minutes to complete, but that only averaged 64 minutes per day.  I have yet to take the test on that chapter, so I’m not yet sure how effective this process has been for that chapter.  But I do know the previous chapter resulted in huge positive results.

I think I missed a lot of the main part of this that makes it so effective.  The main effective part is that you study a little bit every single day.  It’s not a brain destroying group done once or twice per week.  It’s simply an hour per day, every single day.  In that way, your brain doesn’t have time to stop thinking about what you have studied.  On top of that, by the end you’ve read and reread your notes numerous times.  Then, the information is more likely to stick. 


We’ll see what happens with chapter 8.  Though I have to admit, single area OSPF just doesn’t interest me that much.

Monday, March 23, 2015

Outliers

I read Malcolm Gladwell's book Outliers.  I think I've come to a distinct set of realizations afterwards.  It's a collection of things rumbling through a head that doesn't quite understand what is trying to be said.

I've watched through the YouTube version of Patterns of Conflict once, and I'm working on watching it again.  I've often wondered if I could write distinct lines in my life between things I read or done with the realization that those things are the future points of tomorrow.  They are the points when life departed and the old fell away.

I know Patterns of Conflict will have an impact on my life.  It already has.  Several statements have already begun sticking in my mind, leading to wanderings down paths that just aren't normally taken.  The ability to deconstruct and reexamine thoughts gives way to new perspectives.  I've often thought going to college is like staring in through the wrong side of a peep hole into a three story house, without the realization that there is even a house to be looked at.

I've also began wondering what would happen if one intentionally went to spend the 10,000 hours it takes to reach mastery of a subject.  In doing so, I contemplated buying the www.10000hours.com domain name, but it was taken.  I don't even know what I'm going to do with it, but I think I've got an idea.  I think it's what Driven was initially created to do.  I just never finished that project, and it went by the wayside.

I guess the goal is then quite simple.  Pick a project, and start a timer.  Figure out how much of your free time you have spent on the path towards mastery.  It would be great if you could suddenly know where you are on that path.  But without extensive time management analysis, I don't think that's possible.

But it might make a good story here and there.

Monday, February 2, 2015

I've got a thought running through my head.  What if everything we do can be described as the difference between attrition warfare and maneuver warfare?

Attrition warfare is the tactical decision of the 19th century, and was codified by Carl von Clausewitz in On War.  von Clausewitz argued heavily for the kind of attacks seen during World War I, in which soldiers lined up and charged at each other.  These were heavily destructive battles that were exceptionally costly and ineffective.  This strategy persisted far into the Cold War and beyond.

It has mostly persisted due to simplicity.  It's a lot easier to teach Attrition War versus Maneuver War.  Now, jump back to the point at which von Clausewitz was writing On War.  He was a Prussian, writing about the battles of Napoleon.  Shortly after, the Prussian level of thinking also created the basis of the modern education system.   Prussia needed to move into the 20th century as fast as possible to prevent something like Napoleon from happening again.

Now, what the Prussians created was an attrition war versus the under-education of the the people.  In many aspects, that is still what the entire education system is based on.  But Attrition War has numerous problems.  It is costly in terms of human lives, and generally ineffective versus a decent defense.

Against the proper defense, attrition warfare costs thousands of lives.

Where does that all tie back towards Maneuver Warfare?  I think Boyd can answer that question.

Thursday, January 22, 2015

Corrective Action

I’ve been reading through Proverbs in my quest to finish the Bible this year.  So I’m using YouVersion and plan that has me read the entire thing in a year.  Technically, I started 2 years ago, and never finished.  But I picked up where I left off, and now I’ve been going steady since January 1. 

Anyways, I was thinking through the various parts about the correction of children.  I know correction has been simplified to “spare the rod, spoil the child”.  But that’s a hideous abbreviation of a collection of different proverbs.  Most of them say “don’t hesitate to discipline your child”.  But the comment is not often made on how to discipline. 

In other words, discipline should exist.  But I’m not going to tell you how to discipline.

If the Bible is the word of God, and God is smart, then what the Bible says should be smart.  I’ve got three kids.  The older kids (3 and 5) have completely different personalities.  Disciplining each child requires different actions and corrections.  Sometimes the reward is a positive reward, sometimes a negative reward.  But in the end, there is some sort of correction.

Throughout the parts of the Bible I’ve read, the correcting action changes.  God was not a one trick pony when it came to correcting the Jews, and as a parent we shouldn’t be either.  The old adage of “spare the rod, spoil the child” is the adage of a one trick pony. 

There is a second question that needs contemplated when talking about corrective actions.  Think back to the corrective actions your parents used.  And then answer the question: did it work?  I’m pretty sure most children will eventually parent the way their parents did.  They will use the same corrective actions.  I saw a lot of parents use corporal punishment.  I also saw a lot of kids who weren’t phased by corporal punishment.  Fifteen minutes after being paddled, they were back to their old ways.   In effect, the corrective action was not effective in solving the issue. 


The entire purpose of a corrective action is to get the person to correct their action.  It’s not for the parent to feel better.  It’s to correct the action that was wrong.  If the corrective action didn’t work, then new measures must be developed.

Wednesday, January 21, 2015

journaling

I was reading something from the Art of Manliness about Benjamin Franklin keeping a notebook in which he wrote down his successes and failures in his desired character traits.  I found an old military notebook that I used to have, and I think I want to do the same thing.  The notebook is one of those old green hard back notebooks filled with blank pages.  It’s kind of like your own personal hard back book. 

Mine is a bit old, but I still like it.  I always thought they were the greatest thing in the world when I saw NCOs carrying them around.  I don’t know why.  It was simply the mystique of an NCO and his book.  There was a degree of awe in seeing that book.  The books themselves were simple little things. 

Anyways, there is always the question of what should be put in the journal.  It’s not often you get a book that could last a few years.  Most of the time, you find some piece of junk spiral notebook that will last about 20 minutes.   And spiral notebooks never have the proper consistency or a solid cover.  Unless the attempt at solid is shoddy plastic.  Did I mention how much I hate spiral notebooks?

Anyways, I’m still contemplating what to write in the notebook.   I really like the idea of keeping track of progress.  Often, you find yourself committing the same mistake over and over again.  For some reason, we are blind-sided by our own faults.  We often see past them.  They just simply disappear.  


Tuesday, January 20, 2015

Network Baselines

Like I said, I’ve been working on network baseline analysis.  Beginning problem is that I don’t have a baseline to begin with, nor do I have any way to examine the current baseline of the network.  So, I’m at a loss of where to start. 

I read one book where a basic baseline can be created by pinging all available hosts.  It’s not the greatest baseline, but it is the beginning, and it’s better than nothing.  What I’ve got is nothing.  So what I did is wrote a batch file using a FOR loop to ping all devices and print the output to a file.  After that, I ran an arp –a and appended that to the end of the file. 

So it’s not the greatest baseline.  But it does give me an idea of what standard network performance should be, at least as far as PING goes.  I guess the next part is trying to dump the information into a webpage or a database so the information can be examined later and compared to what it has been at various points. 

I guess I should probably add the ITILv3 documentation to my reading list.  The only problem is I’m not definite the ITIL information actually provides information on how to baseline a network.  I understand the basics and the conceptual theory.  It’s a matter of going out and doing the work.  And sorry, SNMP is not the way to baseline.  Everyone has it turned off due to the insecurities in the system. 

Just a quick look at Cisco, and the only encrypted version they have only supports DES.  So the options are send the data as plaintext, or send it as an algorithm that has already been replaced due to inherent weakness.   15 years ago, DES was cracked in 22 hours.  15 years ago, I was happy with 400 MHz processor running 128 Mb of RAM. 

In comparison, I’m writing this on a laptop with an Intel Core i5 running at 2.5 GHz with 4 GB of RAM.  Shot in the dark, but I think a couple of these suckers could crack DES in a day.  And if someone breaches your network and doesn’t get caught, then what is a day?  What is 10 days? 


Monday, January 19, 2015

The end of one thing, the beginning of another.

I finished the Security+ book, and I think it left me with more questions than answers.  At the moment, I’m questioning how to do a lot of things.  Network baseline analysis is the primary one of those.  At the moment, I’m doing some preliminary reading.  Sure, there are a lot of books out there that say “this should be done”.  None of them discuss how to do network baseline analysis.  I think the best answer I’ve seen so far “there isn’t a standard”.  Which sounds pretty normal with network security.  And that’s why network security is, as a general rule, very splotchy.

With Security+ being finished, it’s off to learning physics VIA a collection of books written by Benjamin Crowell.  Part of me wants to write a long, drawn out blog post describing in detail how I can believe in both science and God at the same time.  But I’m not.  The answer is pretty simple: most of life is not an either/or selection.  Despite simplistic arguments against, it is entirely possible to believe in both at the same time.  The two are not mutually exclusive.  Sorry folks, I can believe in both at the same time.

I’ve touched on the false idea of mutual exclusivity before.   I can’t remember the post, but it’s the argument of people who want to lead you down paths that are only valid if the two items discussed in the beginning really are mutually exclusive.  For the most part, there are very few mutually exclusive items in the world.  I guess in the end, you have to question the assumptions people push at you, and assume everyone has an agenda.  Despite the best arguments, the truth is not the real agenda.

I think Andy Andrews put it best:  People often think logically to the wrong conclusions. 


Really, there was an entire book about that subject.  It was pretty interesting.  

Friday, January 16, 2015

Moving towards success

It usually feels weird, turning dreams into reality.  By and large, people are taught to dream big.  But they are never taught how to turn those dreams into reality.  Probably because it’s not fancy enough.  There’s nothing slick or amazing about it.  I guess people are in love with the fancy and great.  But it’s really simplistic stuff that causes success.

It’s strange, the amount of gain that can be had from just showing up and participating.  That’s half the effort in most cases, and that half is more important than any of the rest.  You could be the fastest, best person in the world but you aren’t going to get anywhere unless you show up and participate.  I’ll start with a good example.

It doesn’t matter how much you want to lose weight or “get in shape”, unless you do the work you will not achieve your dreams.  A person putting in 20 minutes a day will go farther than a person that shows up when it’s fashionable.  Sure, fashionable is a good time to show up.  But you must keep showing up.  Unless you keep showing up, you will never make it where you want to go.  And it’s really pretty simple. 

Show up.  Perform.  Rinse. Lather. Repeat.

I don’t care how much you want to know or learn.  Until you show up and perform, you won’t go anywhere.  Sorry.  It’s just not going to happen. 

Once you’ve made it beyond the “show up” portion, it’s time to spend a bit of time on the effort itself.  My other piece of advice is thus: don’t try to find shortcuts when you are trying to establish the routine.  Just keep showing up and chugging along.


Wait until the routine is established before you look for refinement.  

Thursday, January 15, 2015

Plumbers and Janitors

After a long trip around the Panhandle, I’m back at home.  I think I drove 250 miles today in my trek to get things ready for PCI 2.0 compliance.  It ended up being about a 10 hour day, but I enjoyed it.  It’s not every day you get to see good actions and results.  Maybe more on that later.

I find a lot of people in my industry don’t really spend the time or effort to achieve much.  Whether it be a chain or a person, they all seem to be drawn to mediocrity.  Either that, or I just don’t know what motivates them.  It’s very likely they don’t know what motivates themselves, either.  Just a lot of slouching towards the weekend with no real goal in sight, and no plan. 

I think I read in one book or another that the average IT person is best equated to a janitor or a plumber.  Both experience the same problem.  It’s in how they deal with the problem that makes their job descriptions different.  The problem in question for a janitor and a plumber is a leak.  A janitor spends most of their time mopping up the same leak.  They deal with the same problem over and over again.  A plumber finds the source of the leak, and stops the leak. 

With that idea in mind, I set out to be a plumber.  In order to be a plumber in the IT world, you have to know a lot and you have to begin to understand root causes.  If you are app’ing 5 Ruby II’s a month (not to be confused with a Ruby 2) due to lost program on a reboot, then you need to figure out how to solve the problem.   The solution is app the Ruby.  The problem is not the random power fluctuation.  The problem is the Ruby doesn’t hold on to its programming.  So the answer is replace every single Ruby battery pack.  Guess what?  You then forget how to app Rubys because they retain memory through a reboot. 

Wednesday, January 14, 2015

Some programming... more about planning

I think I’ve thought of the problem with the threading function.  There’s really no problem with the thread function.  The thread works great.  My expectations of what the thread should do were wrong, though.  I incorrectly assumed the thread would run multiple times.  It doesn’t.  It just runs once.  And that’s the problem with it.  So it’s not the thread’s fault I told it wrong.  It is simply a matter of me assuming the wrong thing about how it would behave.

Essentially, I have to remember that the thread is nothing more than a function.  The function runs, and then the function quits.  Bu nothing ever calls the function again, so the numbers never change after the first press of the button.   Or at least I think that’s the explanation.

On a second note, my reading has gone past 20% complete.  I should be done with Security+ this week.  As a general rule, I’d say the book has good info but it’s so incredibly vague in most cases.  This is not an action oriented book.  This book is there to give you a gigantic overview.  From there, its’ up to the user to pursue whatever interests them.  Which takes the focus out of the reading.  I’m guessing a server book should go next.  At the moment, I’m not progressing down the security path though.  I’m heading towards a programming path.  Once the programming path is done, then it’s back off to other things. 

At the moment, I’ve read about 1000 pages of the 5000 I need to complete my current goal.  So that leaves me with another 4000 or so to read.  Do I really want to schedule the next 10,000 pages when I don’t know where I intend to go from here?  I could easily pick a number of books.  A Cisco Voice book probably needs to be in there somewhere.


For now, the examination of where I want to go is behind 4000 pages of physics, calculus, and artificial intelligence books and the last 50 or so pages of Security+.  Towards the end, I’ll probably have a better understanding of where I want to go.  But now?   The schedule is set, I just have to follow it.

Tuesday, January 13, 2015

Threads: I still hate them

Hmm…

Looks like implementing threads is going to be about what I expected.  The code is simple enough.  It’s getting that thread to run multiple times on a schedule that’s going to be the complicated part.  I have no idea how to get it to do that.  The thread.sleep() should cause it to work, but it’s not doing what it’s supposed to do.  I suppose I’m used to dealing with threading causing me havoc.

Grr…   Slight modifications to the system and it still doesn’t work.  But eh… 

The real problem is threading is critical to half of the stuff I have running through my head.  So I have to figure out threading, or the rest of my ideas need to go on hold.  And I really don’t want to put them on hold. 

But…  grr. 


Did I mention I’ve never been good at threads?  In general, they seem to be easy.  But I’ve never been able to implement them properly.  Though quickly looking through the Java documentation, there is also a timer implementation that would probably implement the countdown portion of the clock just fine.  It still annoys me…  

Yeah, I still hate threads.   I wouldn't bother trying the code, as it doesn't work...   

    private class CountDown implements Runnable
    {
        CountDown()
        {
            
        }
        public void start()
        {
            t = new Thread(this, "counter");
            t.start();
            
        }
        public void run()
        {
           
            try
            {  
            
                int ones;
                int tens;
                String txt = seconds.getText();
                char characters[] = txt.toCharArray();
                             
                ones = characters[1] - '0';
                tens = characters[0] - '0';
            
                ones = ones - 1;
                    
                if(ones < 0 && tens > 0)
                {
                    tens = tens -1;
                   
                    ones = 9;
                }
                else if(ones < 0 && tens == 0)
                {
                    tens = 0;
                    ones = 0;
                }
                
            
                seconds.setText( Integer.toString(tens) + Integer.toString(ones));
            
                Thread.sleep(20);
            }
            catch(InterruptedException e)
            {
                
            }
            
        }
    }