Friday, November 30, 2007
Tuesday, November 27, 2007
I pity the fool!
If you ask my parents who I idolized as a child Im sure they would come up with Mr. T. I went around for weeks saying "sucka!" The thought of Mr. T. playing WoW makes him cooler than ever.
Tuesday, November 20, 2007
Cannon of awesomeness
High Speed Stuff Accelerator - Pneumatic Cannon In Action - video powered by Metacafe
Distilling Tar?
Still Smoking? Watch This !! - video powered by Metacafe
Just in case you need some extra Tar you can distill your own using household cigarettes. Yikes.
Monday, October 29, 2007
Paris, not the city.
Wednesday, October 24, 2007
Catalyst, Ruby, and MVC in general
By various metrics Twitter is the biggest Rails site on the net right
now. Running on Rails has forced us to deal with scaling issues -
issues that any growing site eventually contends with - far sooner
than I think we would on another framework.The common wisdom in the Rails community at this time is that scaling Rails is a matter of cost: just throw more CPUs at it. The problem
is that more instances of Rails (running as part of a Mongrel
cluster, in our case) means more requests to your database. At this
point in time there’s no facility in Rails to talk to more than one
database at a time. The solutions to this are caching the hell out
of everything and setting up multiple read-only slave databases,
neither of which are quick fixes to implement. So it’s not just
cost, it’s time, and time is that much more precious when people can[’t]
reach your site.None of these scaling approaches are as fun and easy as developing
for Rails. All the convenience methods and syntactical sugar that
makes Rails such a pleasure for coders ends up being absolutely
punishing, performance-wise. Once you hit a certain threshold of
traffic, either you need to strip out all the costly neat stuff that
Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move
the slow parts of your application out of Rails, or both.It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow. It’s great that people
are hard at work on faster implementations of the language, but right
now, it’s tough. If you’re looking to deploy a big web application
and you’re language-agnostic, realize that the same operation in Ruby
will take less time in Python. All of us working on Twitter are big
Ruby fans, but I think it’s worth being frank that this isn’t one of
those relativistic language issues. Ruby is slow. 1
One thing that Alex points to is Ruby, saying that Ruby it-self is slow. I have read a few other posts that lead me to believe that this is the case. So I started playing with Catalyst which is a MVC framework for Perl. I have to saying that I was pretty impressed with Catalyst as well. It has the added advantage if plugging in different view classes and even mix and matching them in the same project. Its not as elegant as Rails, then again Perl is not really known for its elegance in general. I have developed in Perl for a long time and love it as language. So this seems like a good fit.
Then I really get thinking of the MVC framework in general. MVC stands for Model, View, Controller. This is not a new paradigm it has been around in Java for years. You start with a model class that describes your data. This could be a database connection or a standard container class. You also have a view class that handles how your model will be displayed to the world. Finally there are controller classes that interact with the user by display the model through the view class and handling the user input. The controller is the glue between the user and your application. In Java typically you would roll these your-self which gives you a good deal control.
The Rails/Catalyst model seems slightly different in that they are trying to handle more of that for you. In the Rails land the View part is pretty well out of your control. You use the templating language they provide. The model is more or less locked down as well which allows you to focus your coding on the controller. The advantage is you have less to worry about so you can focus on the portion of the app that is really important. Like I said above that is really cool.
Here is what distress me. We are moving the developer further away from core pieces of development. I think that a part of the twitter problem is that they rely on ruby to write SQL for them and to display information. Yes it takes the developer less lines of code but that code didn't just disappear, it has to be handled somewhere. There is a trade off in ease of development and performance.
The Rails problem isnt new right? Do you code your project in VB or C?
1 Alex Payne Interview
Wednesday, October 17, 2007
Goodbye Cornell (for now)
Shawn, I wanted to give you the chance to review my farewell message to you. As always, your input is unvaluable to me.
It is with mixed feelings and the taste of bile in my mouth that I bid farewell to Shawn Bower. Shawn is leaving the PeopleSoft developer’s group after a much acclaimed – by him, anyway – stay of nearly two months. As I understand it, that’s about 14 months for a dog. Needless to say, that comparison was made purposely.
I would like to recount Shawn’s many successes while working with the developers but I understand that the lawyers are still looking for them. Not one to impede justice let me just say that Shawn will be missed around here. His lack of attention to detail, his willingness to never lend a hand when needed and his relentless pursuit of mediocrity kept his name on many a person’s lips. I would repeat what was often said of him but I’ve sworn off cursing.
In the short time with us, Shawn has brought about many changes within Information Systems. First, the physical security of Maple Avenue will be beefed up, finally. Second, Human Resources has assured us that future background checks will be more thorough and written references in crayon will not be accepted. Third, direct deposits of paychecks to bank accounts in the Cayman Islands will be more thoroughly scrutinized. I would like to say on his behalf that rumors that Shawn was making money on eBay from his cubicle are false. His main source of income was, of course, from his gambling web site.
On a personal note, I would like to thank Shawn for the friendship we’ve had during his time here. Who can ever forget the time he arranged for the fumigation of my office or the rumors he started of a paternity suit on my behalf. Ah, good times. (As a note, had Shawn stayed at IS, I was assured by HR that I had actionable evidence of bullying and a hostile work environment. So, saved by the bell, huh, Shawn?)
So join me in wishing Shawn good riddance and best of luck on his new endeavor. I’m sure that Shawn will succeed in whatever he tries, as long as it doesn’t require more effort than it takes to breath.
Break a leg, Shawn! Seriously, I mean it.
Update: He did in fact break my leg.
Tuesday, October 9, 2007
Sunday, October 7, 2007
X-Wing Downed
Saturday, October 6, 2007
Cornell Football
Friday, October 5, 2007
Tuesday, September 25, 2007
Friday, September 21, 2007
Wednesday, September 19, 2007
Puppy Wars
I know its getting close to Halloween and every one is wondering what costume they should get for their pet. Well friends the search is over, your lovable pooch can become Darth Doggy for the night!
To get your officially licensed costume craze.
Saturday, September 15, 2007
Radar Gun
Radar Gun Hacked! - video powered by Metacafe
Friday, August 31, 2007
You can read more here
On a lighter note this is my 100th post. Woo Hoo!
Thursday, August 23, 2007
Wednesday, August 22, 2007
1 ... 2 ... 5
Ultimate COLORED Smoke Bomb - video powered by Metacafe
MAKE A Pull Ring SMOKE GRENADE - video powered by Metacafe
Monday, August 20, 2007
Vomit Light
Sunday, August 19, 2007
Saturday, August 18, 2007
Golden Rule
May I be an enemy to no one and
the friend of what abides eternally.
May I never quarrel with those nearest me, and
be reconciled quickly if I should.
May I never plot evil against others, and
if anyone plot evil against me,
may I escape unharmed and
without the need to hurt anyone else.
May I love, seek and attain only what is good.
May I desire happiness for all and harbor envy for none.
May I never find joy in the misfortune of one who
has wronged me.
May I never wait for the rebuke of others,
but always rebuke myself until I make reparation.
May I gain no victory that harms me or my opponent.
May I reconcile friends who are mad at each other.
May I, insofar as I can, give all necessary
help to my friends and to all who are in need.
May I never fail a friend in trouble.
May I be able to soften the pain of the
grief stricken and give them comforting words.
May I respect myself.
May I always maintain control of my emotions.
May I habituate myself to be gentle, and
never angry with others because of circumstances.
May I never discuss the wicked or what they have done,
but know good people and follow in their footsteps.
Eusebius of Caesarea
Thursday, August 9, 2007
Dont Try this at home ... Ever
Thursday, August 2, 2007
Wednesday, August 1, 2007
Might as well start smoking ...
Almost one third of laser printers emit tiny toner paricles that when inhaled casue respitory problems. Yikes
More Here
ORA-12705: Cannot access NLS data files or invalid environment specified
There are two possible causes:
Fix:
Unset the NLS_LANG environment variable
Monday, July 30, 2007
Friday, July 27, 2007
Think typing on your phone is hard?
Read the full story here.
Wednesday, July 25, 2007
King of Kong
I will be waiting in line to catch this epic David vs Goliath donkey showdown!
Thanks to Matt for this find!
What be yer pirate name ... Arrrr
My pirate name is:
Bloody Sam Flint
Every pirate lives for something different. For some, it's the open sea. For others (the masochists), it's the food. For you, it's definitely the fighting. Like the rock flint, you're hard and sharp. But, also like flint, you're easily chipped, and sparky. Arr!
Get your own pirate name from piratequiz.com.
part of the fidius.org network
Tuesday, July 24, 2007
Saturday, July 21, 2007
Friday, July 20, 2007
Skynet bad
Wednesday, July 11, 2007
Tuesday, July 10, 2007
A fully operational death star
Sunday, July 8, 2007
Math Important for CS Majors?
Many useful applications require little understanding of how the computer works. I was contracted to write an application that would calculate the insurance premium for a house. It was very simple. The user would enter some characteristics about the house, the program would run a calculation (the calculation was provided by the insurance company) and then it would spit out an answer. The application required no understanding of math or computer science. Or did it?
The application used a small amount of RAM, was it by accident? Knowledge of math helps to understand how much RAM each variable will take up and what the overall program foot print will be. Is that not important? Knowing a little math is crucial to efficiency. In part of the application I need to sort a list of data, the list contains about a 100000 data points. This list will grow over time as the company does more and more business. Can a sort be written without a good understanding of math, sure. Here is perhaps the simplest example of a sort
The worst case time for this to execute is O(n^2), meaning worst case this could take n^2 iterations. Thats bad. On the other hand one of the fastest sort algorithms executes in O(n * log n) worst case. This is incredible faster. To illustrate the difference lets say that is takes the computer 1/100 of a second to perform on cycle. In the case of the bubble sort then we would first calculate the number of cycles: 100,000^2 = 10,000,000,000. Divide that by 100 to get seconds: 100,000,000. Then lets divide that by 3600 (the number of seconds in a hour): 27,778. So the bubble sort would take 27, 778 hours, yikes! What does this look like for the faster routine of O( n * log n). Well lets do the log firs: log 100,000 = 5 (its going to be a long day for the bubble sort). So multiply it by n and the divide by 100 for seconds: (100,000 * 5 ) / 100 = 5,000. So to get the answer in hours divide by 3600: 5,000/3,600 = 1.39 hours.procedure bubbleSort( A : list of sortable items ) defined as:
for each i in 1 to length(A) do:
for each j in length(A) downto i + 1 do:
if A[ j ] <>then
swap( A[ j ], A[ j - 1 ] )
end if
end for
end for
end procedure
Do you thinks it more reasonable for a user to wait 1.39 hours or 27,778 hours (which is over three years)? So what is my point? You can get away without understanding the math, but there is a price to pay. Industry does seem to be leaning in the direction of CIS majors who can code but lack real analytical skills, they are banking on the ever increase in computing power. The theory is that with a powerful enough computer it doesn't matter how inefficient the code is. Remember that the next time your using an application that seems to frequently crash. The next time you surf a web page that takes minutes to display.
There is in IDE for C++ called Code Warrior, certainly appeals to us geeky coder types. I think the metaphor has taking on a new meaning. We seem to view coding staff as grunts in an army. Most IT firms try to get as many grunts on the battlefield as possible, thats how you win a war right? Gather up some warm bodies and had them a rifle ... er ... key board. Interestingly enough there is a real parallel hear. When a well trained army meets an untrained army of greater numbers the well trained army is favored.
My feeling on education for Programmers, and I give this advice to everyone who asks, is that should take as little programming as possible. Take Philosophy (esp logic), Math, Literature, Physics, Chemistry, Military History. Spend your time becoming a good analyst, some one who can take a problem a part. Learning a programming language is by far the easiest part of a good education in Computer Science. You will find that writing code is the easiest part of being a programmer. The hard part is understanding and solving the right problem. The questions is do you want to be a Code Warrior or a Code Ninja?
Saturday, July 7, 2007
Did someone say Calamari
Apparently Calamari sales are up since the ad ran
It's been a busy time for CEO Keith Cox and his crew at Pacific Catch. For thelast few weeks, the restaurant has been featured in ads for Apple's new iPhone as a place to go if you're jonesing for for calamari.Turns out, Cox says, that calamari was only an occasional special at the Corte Madera branch (133 Town Center). When the calls -- up to 100 a day -- started coming in, executive chef Aaron Noveshen quickly put it on the menu.
Monday, July 2, 2007
Thursday, June 28, 2007
Wednesday, June 27, 2007
Wednesday, June 20, 2007
1st Purple Verse 12 and kidnapping
Tuesday, June 19, 2007
Monday, June 18, 2007
Weird Weather
Sunday, June 17, 2007
Rust Bucket
Friday, June 15, 2007
Test Road
Test Dude
132 Test Road
Test City, CA 90210
So here is the the twist, everyday I drive 30 miles to work and at about the midway point I pass Test Road. I swear the name of the road is Test Road.
So now Im wondering, "am I just a part of some large test database just awaiting the say I get put into production." What is the production database like? It would have to cleaner right? Stricter rules for entry, no orphans, stable environment, and I could go on and on.
Im just a test row dreaming of the day I get inserted into the production path....
Tuesday, June 5, 2007
How to speak office jargon
Let's think out of the box: Really means, "Can you creatively anemic people please come up with something?" The person who says, "Let's think out of the box" is usually desperate for a new idea and surrounded by people who are not known for generating ideas. So the phrase is actually an announcement that says, "I'm in trouble."I need someone who can hit the ground running: Really means, "I am screwed." Because no one can hit the ground running. You need to at least assess what race you're in and who else is running.
Do you have the bandwidth? Note that bandwidth is not time. It is something else. If you ask someone "Do you have time?" you mean, "Am I a priority?" If you ask someone "Do you have bandwidth" you mean, "You seem like your brain is fried. Can you pull yourself together to do this for me?"
Let's hit a home run: "I'm desperate to look good. Even though the odds of a home run are slim, I'm banking on one because it's the only thing that'll save me." Something for all your sports fans to remember: If you have a bunch of solid hitters you don't need a bunch of home runs.
You and I are not on the same page: "Get on my page. Your page is misguided." No one ever says, "We're not on the same page, so let me work really hard to understand your point of view. If you want to understand someone else, you say, "Can you tell me more about how you're thinking."
I'm calling to touch base: "I want something from you but I can't say it up front." Or "I am worried that you are lost and I'm sniffing around for signs to confirm my hunch." Or "I'm calling because you micromanage me."
Let's run the numbers and see how they look: "I know they look bad on first blush. But the true use of Excel is to keep changing the formulas until you find a format that makes the numbers look good."
My plate is full: "Help I'm drowning," or "I would kill myself before I'd work on your project."
Let's close the loop: "Let me make sure I'm not going to get into trouble for this one."
Let's touch base next week: "I don't want to talk to you now," or "You are on a short leash and you need to report back to me."
Keep this on your radar: "This will come back to bite you. or me."
Wednesday, May 30, 2007
Thursday, May 24, 2007
30 second skip TiVo
1. Grab your TiVo remote.
2. Bring up any recorded program. (I believe you have to be watching a recorded program rather than "Live TV" in order to enable the feature.)
3. On your TiVo remote, key in the following sequence:
select play select 3 0 select
SELECT PLAY SELECT 3 0 SELECT
4. If you've successfully entered the code, you should hear three "bings" in succession to let you know that you've successfully enabled the 30 second skip feature.
5. The skip-to-hash button on your remote will now skip forward 30 seconds during playback.
6. The previous function of the skip to hash button (that is, jumping to the next "hash" mark on the playback progress bar at the bottom of the screen) can still be accessed by first pressing fast forward or reverse. Press the fast forward button and then press skip-to-hash and the playback will advance to the next hashmark (or the end of the program if you're close to the end of playback.) Press the rewind button and then the skip-to-hash and you jump back to the previous hash mark, or the beginning of the program depending on your place in the playback. Skipping past the end of the program takes you back to the start of playback.
Tuesday, May 22, 2007
Apple II explained by seven year old
Sam w/ Icing
Saturday, May 19, 2007
Car Phone?
Friday, May 18, 2007
Thursday, May 17, 2007
Dont whiz on the electric fence
Read the whole story here.
Wednesday, May 16, 2007
The techie Haiku winner
The Mac hates popcorn
I dropped some on the keyboard
It kernel panicked
Tuesday, May 15, 2007
Rube you may not be with us but your spirit lives on
NOTE: Sometimes you have to click on it a few times to get the movie going.
Monday, May 14, 2007
Hi Im a Marvel ...
Wednesday, May 9, 2007
Mug of Friendship
Thanks!
Monday, May 7, 2007
Has technology improved our lives?
At some point I went from feeling warm and happy when my cell rang to wanting to cringe.
Life Better?
Friday, May 4, 2007
Sometimes you have to ...
Tuesday, May 1, 2007
Some days life sucks ....
Yikes.
Tuesday, April 24, 2007
Kryptonite discovered (finally)
"I'm afraid it's not green and it doesn't glow either - although it will react to ultraviolet light by fluorescing a pinkish-orange," he told BBC News.
Even if it's not green I will sleep a little safer without the threat of a rogue super being.
Monday, April 23, 2007
Shawn Your Company's Computer Guy
Monday, April 16, 2007
Mickey
Friday, April 13, 2007
My new work machine
Thursday, April 12, 2007
A voice of reason from the insane
Thats all crap.
People need other people to survive. Someone to care for us when were sick, encourage us to accomplish our potential, to join with us to build a better world. The often irreverent Vonnegut refers to this philsophy as humanism and himself as a humanist. What makes the idea of humanism so grand it two fold. First its simple, and can be summed with the old adage "Do unto to others as you would have undone to you." Second its about doing the right thing because its right, not because you want something out of the trade. I have been affected by his life and his work and would like to think that I could be a humanist my-self. I try hard at this everyday.
So it goes.
Well they are called the geek squad...
- a peculiar or otherwise dislikable person, esp. one who is perceived to be overly intellectual.
- a computer expert or enthusiast (a term of pride as self-reference, but often considered offensive when used by outsiders.)
- a carnival performer who performs sensationally morbid or disgusting acts, as biting off the head of a live chicken.
Friday, April 6, 2007
I have to go ahead and move my desk
I have been told to go ahead and move my desk ... which makes me sad.
Saturday, March 31, 2007
Monday, March 26, 2007
Mutil Tasking is stupid
clipped from www.nytimes.com
|
Friday, March 23, 2007
Thursday, March 22, 2007
Tuesday, March 20, 2007
FIRST Robotics
clipped from gizmodo.com
|
Monday, March 19, 2007
JTable Size Columns
TableColumn column = null;
for (int i = 0; i < 5; i++) {
column = table.getColumnModel().getColumn(i);
if (i == 2) {
column.setPreferredWidth(100);
} else {
column.setPreferredWidth(50);
}
}
Friday, March 16, 2007
Works for me ...
clipped from www.codinghorror.com
|
Wednesday, March 14, 2007
Tuesday, March 13, 2007
Monday, March 12, 2007
I was famous once
clipped from www.linuxjournal.com
|