My Lean IT Blog

Lean technology and data center virtualization.

Friday, January 28, 2011

zomg


wget 'http://drupalcode.org/viewvc/drupal/contributions/modules/drubuntu/drubuntu-bootstrap.sh?view=co' -Odrubuntu-bootstrap.sh ; cat drubuntu-bootstrap.sh ; read -n1 -p "Run above script? (y/n)" ; if [ "$REPLY" = "y" ]; then bash drubuntu-bootstrap.sh; fi

homeless (or living out of your phone)

I need to root my phone and set it up as an NFS server so I can carry my home directory with me. Even I don't loose my phone.

Well not that often.

I'd be homeless. Hmm, I wonder if I Could do it with a hosted VM. You'd have to script some stuff for caching in it if you wanted to go over the web, a phone on the desk next to it via 802.11g is faster than you guys have ever seen from your home internet unless you've got Fios or whatever. 11n is faster than wired networking was ~10 years ago, in this case it would be the wireless receiver as your most likely chokepoint.

In theory it could be faster than your hard drive unless you have an SSD.

People don't understand that their phone already is their PC, your main computer is more  an entertainment center hooked up to it. There is a reason HDMI* is on a lot of the new phones. Stuff that's insanely addictive (World of Warcraft for instance) can run off a phone. Until recently most adults didn't play on their computers, ,they where strictly for work and porn. Now Facebook has opened up a new realm and a lot of smart people are going to spend their time leveling their toon instead of finding the cure for cancer.


Thursday, January 27, 2011

Next year's stuff and pimping *nix

Our storage array is getting on in age. it's more of a software based device than strait up storage system (NetApp) where you pay off for the extra intellegence on  that layer with some modest performance sacrifices. If you stick with the 80/20 rule, this works  well for 80% of shops imo.

Fibre Channel is a dead end - you pick the best from protocols and hardware and combine them - NFS is still a great bet for those of us who need flexibility and reliability. Fibre optics of some sort are likely to stay ahead of wires for the same reasons wires are able to stay ahead of wireless. They'll all keep going up although it seems things slow down once you get beyond what a single user can use, imo that's why SSDs are only now coming into play - a split between RAM and

So a guy I work with had a good idea - to buy a NetApp front & put what ever the hell we want behind it. We can be FC on the back end loop. Or SAS. FCoE, AoE whatever. Commodity hardware is good enough for our workload.

Hell, there is a guy in Finance that could run a significant portion of our data center off his workstation. My PHONE is faster than my workstation was when I got here. People need to realize virtualization is not near done.


HW>hypervisor>OS>Tomcat is another split>Java>APP

Going SERVER > Virtual SERVER was a nice clean place to break that has sucked for far too long. I suspect Linux is far more efficient an OS than Windows is. I'm building a monitoring system to determine if that's actually true. This needs to tie in with our hardware costs & how many people use a given service at any given time.

I'm looking forward to building a data center on the same technologies that large schools like MIT & NCSU rely on to service their student population. Similar in size to my user base but in general much more discerning since they KNOW their phone is not as big a pain in the ass as their laptop...




Tuesday, January 25, 2011

Work night

Now to go write out my project plan. I have a feeling it will get much more detailed as time progresses, ideally in the form of object oriented code & automated metric gathering.

Work night :(

Needed to work on my wife's computer before work stuff, which is running Windows 7. First it won't let me backup to the local disk (duh, it's a cache not a final location). Bleh. Then while updating VLC my blind ass clicked on the first thing google displayed. Then I went to the real site to get it and it wouldn't work. It did on the 2nd try but I closed and used a different Chrome session (you can go incognito and I was to make sure I didn't hose up any of her stuffs. 

Looks like a good decision.

google giveth and taketh away

Monday, January 24, 2011

SDLC

So in programming there is the concept of product development and how to manage it's life cycle. The one I'm more or less doing is SDLC. It divides up the project into a couple of phases. This is important,  good programmers don't just "write stuff" when a customer asks them to do something. They actually fix a problem or even better prevent one. The life cycle is how to identify what steps to take and get a decent chance of succeeding. IS departments don't have a great track record of this because a lot of programmers where taught syntax instead of development. Ok, bored.

1 The preliminary phase (wouldn't it be cool if I knew if the print serverr was hung up  so I could reboot it?)

2 The analysis phase (Is it feasible?->is it worth doing->how do we do it to a *very* fine level. This should be down to writing and providing a flow chart. (easy enough, monitor it and if it stops responding email myself  an alert).
3 Development phase (turning the logic and  flowchart into objects and actions and then the objects and actions into actual reliable and fully functional code - query the box and if it does not respond in x seconds reboot it - no I'm not going to write a script to do that, there is already a framework* that does 95% of this for me).
4 Implementation phase (set it up with identified and managed dependancies, make sure it's able to handle a working load and is actually functional for the user).

5 Audit and maint - watch to make sure it remains functional and provide updates (is it running? Does it meet efficiency metrics (some apps make sense if they require a big frigging box, some make sense if you can run them as a 5 minute cronjob, some neither, figure out the right metric) and can it be improved (instead of mailing me can the job reboot the server for me and only THEN mail me if it does not come up?

Ok

So lets see if this will work. I am going to teach myself the basics of Java programming and not be bored to death at the same time.

A few things:
Why do this? Why learn how to write a computer program ?

Java is an interesting language. When you write an application you generally do it in a language - a way to tell the computer what you want it to do. Most people have a pretty nebulous idea of what this means which is sad since computers have gotten a lot faster but they're not much smarter. I think we're fighting the extreme laws of physics on one end* and the speed of Facebook posting, beer drinking  people learning stuff on the other.

Think of it this way - 50 years ago if I figured out how to do perform a task better than before - even a itty bitty bit better - than someone else who cares? Now I can check it into a repository and have it benefit anyone else who does the same task. This has a massive cumulative effect, think how much has changed in finance since we started actually using money. Sound stupid but people have been able to speak for around 40 thousand years, using a more or less consistently valued abstract for representing worth is a relatively new idea.

Neil Stevenson wrote a really interesting quasihistorical novel about the 1700's when the global financial system went through an massive change and a lot of interesting people could have plausible been involved (I have no idea to the veracity of anything in the novels, the goal was to convey an idea and tell a story, not represent history except in a deeper sense). There is also a lot of sciencey stuff. I flunked Calculus 242 at least twice. The concepts where cool and interesting. The work to reach the actual answers made sure I never did any of the homework. At least I knew I was failing and could skip the final. Stay with me.

I think that we are still seeing the impact of these things build. Information now is replicable, relatively cheap to transmit and can be managed.  Think of a typical large organization, public or private.The finance department specializes in  information focused on measuring money and making predictions about what will be the most profitable actions for the organization as a whole to take. Marketing specializes in getting information in and out of the company - advertising, customer feedback, product identification. Engineering product creation & manufacture. Operations providing getting the mix together to actually get the stuff to turn from an input to an output. Customer service is there to let the customer push information to your organization, hopefully keeping them around and giving you the ideal source of ideas** etc. etc. I'm not pretending this is all there is to those portions of the organization but they do ALL have areas shared in common. Few companies have an electrician for each department, a secretary for every employee so roles in a company are in part due to scale. If you're a mom and pop bakery it's not cost effective to start a data warehouse on your work.

Not yet. Like I said, hardware is literally pushing the limits of our knowledge of physics. It's fast, so fast people don't grasp the concept. My phone is more powerful than the laptop I got when I came to this company, my midrange standard Dell workstation's CPU is more powerful than the one in the 50,000$ minicomputer.* A 100 dollar SSD hard drive is faster than a 30,000 dollar storage array of 5 years ago. The amount of crap we can dump on a computer and still get it to sift out a useful item is amazing and just gets better.

Being doing that sifting is the part of programming that interests me.




*The limit on most processors is how fast they can go before cooking themselves. Thinner wires produce less heat. The die of a CPU is measured in nanometers. That's generally beyond the realm of physical things - wavelengths of light and stuff. Some geeks may find this cool.

**One of the books I've read recently is a collection Peter Drucker's essays. I don't  agree with all of his opinions but he brings some fantastic concepts to the table. One of the ideas he talks about is making your customer have more money is rarely a bad thing.

*** That we pay for more money annually than replacing it with new hardware would cost total, ditto for the support costs. It's a difficult situation since it really is vital that the system be up and stable but running something in the gigabyte range is not the same thing as it was 10 or even 5 years ago. That's especially true if it's extremely read heavy (like the internet or a data warehouse). It's easier to send than receive, thats why television was around before the internet but the playing field is getting another magnitude of leveled. Will it go to porn, Nigerian bankers and advertisements written to piss off ADD people? Or is the ability to codify thought a way for all of us to at least contribute a tiny bit if we have the ability and desire.