I knew it would be awesome since I have been an avid reader of Joel's blog and had read about the environment at Fog Creek. Still it was amazing to see it in person. Plus, I got free shirt.
Total Pageviews
Sunday, April 24, 2011
Stack Overflow
It has been more than a week since the last post. I have been out of town since Wednesday, so that is my excuse. On Thursday, I took a trip into NY City to visit my friend Jeff Szczepanski at Stack Overflow or as it is now called Stack Exchange. For those of you in the software field, I am sure you have heard of Stack Overflow as they are pretty much the authoritative Q&A site for professional programmers. This place was awesome. Everyone has two monitors, one 30in and one smaller one. I don't know the size of the smaller one. It doesn't matter because the 30in monitor makes all monitors look small. I want one really bad now. Everyone also has an Aeron chair. Hello super comfortable ergonomic master piece that I never want to get up from so I work late just to sit in my chair awesomeness. Again, I am super jealous. Care for snack...don't worry there is a hefty and unlimited supply of goodies. Perhaps some ping pong? No problem, there is ping pong table in the common area. All of these "benefits" are pretty sweet, but the one that really pushed it over the wall for me was the height adjustable desks in every office. I would kill for one of these. I sit all day. Sometimes, I just want to stand and work. Pure awesomeness. After surveying the environment, I partook in the daily catered lunch. That is right, DAILY catered lunch. The cafeteria is shared with the employees of Fog Creek, Joel Spolsky's other brain child, which is located just one floor down.
Thursday, April 14, 2011
WTF
What the fuck is going in Washington? Seriously, this is a really bad joke that needs to stop. Budget this budget that....blah blah blah. I HATE politics. Nothing gets done right because our scared sackless leaders can't make any decisions based in reality...at least my reality. Their reality is getting reelected. I have thought long and hard about this. Politicians should have term limits. At first, I was against this because I thought why? Why shouldn't you be allowed to run for office as many times as you want. The answer is because your decision making skills hinge on what you think will get you reelected rather than what is best for the country. NO ONE will make hard decisions. It is fucking retarded. This budget fiasco is the perfect example. WE NEEEEEEED to make cuts across the board and NO one will do it. I say again WTF? Our country is going to explode in bad way before anyone does anything and even then I doubt anything productive will be accomplished. As someone that is relatively young, I am scared for my future. I am scared that I don't have future. Tax the wealthy!!! You know what? At some point I am going to be considered wealthy. I am going to be taxed some ridiculous amount that pretty much puts me at the level of poverty. If that is not entirely true then some fucking retarded legislation is going to figure out how to steal all the money in my 401k. Why? Because we need to save the poor or provide for the elderly. FUCK THAT. I work for my own money. If someone is going take it then I am not going to work. It is that simple. I am so feed up this bullshit on both sides. There is no accountability in politics and personal responsibly is effectively penalized to support those that were irresponsible. Here is a big FUCK you to those of you in 47% of people that paid no income tax last year, yet have no problem voting to increase the taxes on those did. And here is double FUCK you to the government who can't accomplish anything productive.
Tuesday, April 12, 2011
Greedy Corporations!
I would like to point out one key fact that most people probably forget. Your 401k, mutual fund, IRA or some other investment vehicle is comprised of....wait for it...wait for it....public companies. The same public companies that are scrutinized in the press. So, before you make some bold claim that such and such a company is evil, greedy and contributing to the downfall of America, check your investment account, it is likely that they are contributing to your bottom line and you don't complain about that.
The black, evil, greedy, corrupt...ect cloud that surrounds cooperate America is a shame or at least it should be. There are two type of businesses, those that reap the benefits of government favors and those that don't. Unfortunately, in the US today, the line between these two types of businesses is getting more and more blurry largely because of the ability for companies to lobby for legislation that changes the competitive landscape in their favor. There are two MAJOR causes for the general distrust and widely negative perception of businesses or at least big businesses today. Numero uno, government handouts. The destructive power of government handouts was first tested largely through subsidies and now in more resent years, bailouts. The second is through "corrupt" legislation or "regulation".
The rail road industry is a perfect example. The government essentially opened it's wallet to subsides the first transcontinental railroads. One these railroads was Union Pacific, which wouldn't even have existed without government subsidies. Soon after its completion it went into bankruptcy with what was one of the most publicized scandals in railroad history. Ultimately, there was no risk of failure because be government was giving a handout. Without risk comes the ability to basically make sure the project fails while you "steal" as much cash from the company before it goes under. Government handouts scream please steal me. The next example is Central Pacific, which was built on federal subsidies. For 30 years they held a monopoly on the railroad business in California charging obscene rate and basically stealing the profits of farmers or shippers in the area. They did this through power of the California legislature. Central Pacific controlled the California legislature and ban any other railroad from entering the state. The won not through innovation, not through free market enterprise, but through legislation and it had a detrimental effect the California's economy. The atrocities of government involvement in the transportation industry have been there since before day one. They date back to beginning of the US, when aristocrats still largely controlled the colonies and many established monopolies that were upheld in state courts. Federal government subsidies record back as far as the early 1800s when they funded one particular steamboat company to run mail from the east coast to the newly annexed west cost via Panama. Why? Because at the time it was not profitable to build such a route given that the West Coast was largely not inhabited. Still, the government needed a way to support its imperialism. These are the actions that have given big business a bad name. The actions that would not have even been possible without government involvement. In almost every situation a private business man emerged providing the same services at cheaper price in a more efficient manor.
The telecom industry effectively went through exactly the same corrupt beginnings as the transportation industry did.
Look at any corrupt business and I can pretty much guarantee that the government was involved in some fashion. Take Fannie and Freddie for example. They are a government-sponsored enterprise or GSE for short. Government backing allowed them to dominate the mortgage-underwriting and many politicians benefited from this either from higher pol(F&F basically financed mortgages for low income earners through the incentive of the affordable housing credit) or sometimes as direct campaign funds.
All that I ask is that you seriously consider what you believe or say before making blanketed assumptions about big business or capitalism in general. I am will to bet that in nearly every instance of corruption you will find the governments hand in the cookie jar.
Sunday, April 10, 2011
Books
I have been making frequent posts so far. I hope it is not just the novelty that this is new and I continue along this path.
...back on topic.
In my youth I was and still am to this day a HUGE fan of fantasy novels. I remember the sacred time period where I discovered C.S Lewis and the Chronicles of Narnia. It was 5th grade. The very next series in my reading adventure was of course Tolken. It was over for me at the point. I was hooked. For most of my life, I dismissed none-fiction as uninteresting. Boy was I wrong. I was inspired to start reading non-fiction for four reason.
First and foremost, I want to be an elite software engineer. As such it makes sense to read as much about software development, software history, and really anything related to software in general...really anything related to engineering in general. Surprisingly, I find reading postmortem "documentaries" about engineering projects or even sort of "lessons from the trenches" vastly interesting and often enlightening. I will not deny that I have a lot of nerd or geek like tendencies.
Second, in my "old" age I have taken a liking to politics and current events as they relate to one another. Now, if you want to participate in "healthy" debate then I find it necessary to be informed. Nothing pisses me off more than arguing with someone that can't defend their point of view with any sort of logic. Because it's "moral" is probably the most common and most infuriating answer that I get. In any event, this interest has inspired me to research a number of different topics. The first such topic was laissez-faire capitalism. Ultimately, this spawned an interest in the history of American policy, mainly to understand where it diverged or even if it actually diverged from the original founding principles of this country, which the right so often like to propose.
Third, I find it fascinating to study the effects of technology on our society as whole, such as the advent of TV, the Internet and Social Media. This is pretty broad and I don't have clear direction, but I find it more interesting to study the "negative" or "unintended consequence" of such technologies. How they change the face of how companies do business and interact is sort of interesting, but also pretty obvious from my perspective.
Fourth, I am beginning to have to strong interest in business, or to be more specific, how to make them grow. How do you position yourself in the market place, how do you figure out really what your customer want, how do you make make yourself better than your competitors, how do you figure out what your customers will want and how do you convince them that they actually want it. Perhaps I am skipping over the "how to start them" part of the process, but I think there will be a lot similarities. Interesting problems none the less and reading books by successful entrepreneurs is a good start in the right direction.
Now, that my new found interests have been explained, onto the book list.
Resent Reads:
Eat People by Andy Kessler
This book is basically a high level description of how to be a successful entrepreneur. In doing so the author brings to light some basic economic philosophies that may not be apparent to most people.
The Mythical Man-Month by Fredrick P. Brooks, Jr.
This is probably the only classic in the software industry. I am reading this 30+ years after the fact and honestly all his observation seem obvious to me, but then I realize this is where it started. The books is the source or patient zero for much of the "best practices" we find common in software development today. What really amazes me that the problems they had back then are pretty much the same we have today. All that really says is that technology is not the limiting factor in software development. The limiting factor is people and people don't change.
I just purchased six new books.
Programming Pearls by Jon Bentley
Hacker's Delight by Henry S. Warren
The above two are clearly career related and pretty much highly regarded so I thought that I would check them out.
Enchantment: The Art of Changing Hearts, Minds and Actions by Guy Kawasaki
The guy helped make Apple what it is today. He has written a couple of books. This is the first I picked up. We will see how I like it.
The First Tycoon The Epic Life of Cornelius Vanderbilt by T. J. Stiles
I don't know a lot about Vanderbilt, but the little I did find out made me want to learn about him. I am pretty sure Vanderbilt might have been one of the most interesting and influential people in US history.
The "S" Word by John Nichols
This book is flat out about Socialism. Amongst my colleagues we have surmised that the influence of Socialism on the US political landscape started from day one. Ironically, enough this book is exactly about the history of Socialism in in America. To be clear, the author is a proponent of Socialism. I am not in anyway shape or form for Socialism. However, the author supports his socialist agenda by proposing that America has been founded on socialist ideas from day one. This is exactly what I was looking for to support our idea despite the fact the author has an agenda. Really, I just think it provides hard evidence for our theory, but I haven't read past the first 20 pages yet.
Idiot America by Charles P. Peirce
This book is hilarious. I am only on page 60, but I never laughed out loud when reading and I seriously laughed out loud at least 5 times. It contains great commentary on how intellect is a thing of past and mass opinion is more powerful than fact. I highly suggest this book. It also makes some interesting commentary about the intent of the founding fathers and how that has been diluted by TV, Internet and Social Media. Also, the book inspired me to learn more about James Madison. The only annoying thing about this book is that the author has an obvious left wing or liberal stance. In one instance he makes a comment about global warming that is slightly disturbing. He essential makes fun of James Inhofe's comment that global warming is hoax, suggesting that there is ample evidence to support global warming. While I won't dispute the fact that the earth is warming, there is NO evidence that suggests humans are accelerating it. The tone of book suggests that the political interest in global warming is correct, which is to say that human are the cause. We might be, but until that is proven you can't assert that with any authority. This makes the author the brunt of his own jokes.
I love Taxes
Pretty much all talk about taxes irritates me. Especially being a young white male with a white collar job, no house, no kids, NO deductions. Basically, I get raped. This is frustrating to no end. I am probably the least drain on society compared to others in a similar income range, why do I have the highest tax liability. That makes no sense. Regardless of my complaints, I have thought long and hard about taxes in general, the current budget crisis and why there is so much debate regarding these topics.
I have come to the conclusion that you can't use tax money to fund ideas that are not universally accepted. Planed Parenthood is probably a perfect example. If you don't believe that abortion is right than you are probably pretty pissed when YOUR hard earned cash goes to support this program and you should be. Another example is the school tax. If you have no children, should you be force to essentially educate other people children. I would argue that you shouldn't. Perhaps, this biggest load of crap is ObamaCare. The question is: Why should I pay for unhealthy people's healthcare as a healthy individual? For that matter, why should I have to pay for healthcare at all if I don't want to. The answer is, I shouldn't. The problem with these cases is that decisions to fund these programs are bases on altruistic moral values. Values I might add that were established by someone other than me. When you start to stuff moral values down someones throat, naturally they will pissed.
Now, after reading this someone might and probably would say that not funding Planned Parenthood is an attack on women's health. No it is not. If you really feel that way then start a non-profit organization to raise money for the program or cut a big fat check yourself. One of four things will happen. You don't cut the check or start a program and by definition you are just a plain hypocrite. You cut the check to support you beliefs. You start the program and it is success. Good for you. The program is flop indicating that it was run badly or people don't actually support the program. People's wallets don't lie. The bottom line is that you can't force people to support your morals without resistance and quite frankly it's unconstitutional in my opinion.
Oh but the children. What a bunch of crap. You could double funding to schools across the board and I guarantee you will not see a similar improvement is student performance. All schools should be privatized. But, that will benefit the rich . Most rich children probably already go to a private school. And let us face the fact. The quality of schools is directly proportional to the socio-economical demographic of the area. Privatizing schools might in fact reduce this inequality. Through competition the price of school should go down effectively shrinking the barrier to entry making it much more possible for quality school to open in urban areas. And if that is still not enough, I will swing back around and say start a non-profit organization to address the issue. The reality of is, if you can't raise enough money then people don't care and you can't and should't force them to.
To contrast my examples above. I feel pretty confident that 99.9% of the people in this country think that murder is bad. You could argue that this is also a moral belief, but I personally think is pretty biological. It would go against the fundamental purpose of our species, to propagate. Either way, you will not have any resistance providing mechanizes to punish people for murder. This protects your fundamental right to live and I not sure even sure that is right as much as survival tactic among our species.
I conclude that moral values especially altruistic ones do not have a place in government at least at the federal level. Or at the very least they should not dictate public policy. Individual states should have right to make their own decision about just things.
I think there are some strong parallels to public policy and the old proverb "Give a man a fish and he will eat for a day, teach a man to fish and he will eat for life". Where is all the teaching? Why does the government have a monopoly on fish?
Saturday, April 9, 2011
Opps...i dropped a penny
Senate Majority Leader Harry Reid called the agreement "historic."
I am so blown away by this comment that I am not even sure what to say. Surly, Reid is delusional. More likely, he realizes the agreement means pretty much nothing, but needed to justify the puppet show that just ensued in congress. How is dropping a penny historic?
"Both sides have made tough choices, but tough choices is what this job is all about," Reid said
That is what the job should be about, but clearly no one can make tough choices. I supposes if every penny in your pocket was freshly minted it might be hard to decide which of your pretty pennies to drop on the ground, but it really doesn't mater in the end, they are the same and you still have 99 creating an irritation noise in your pocket as you walk down the street.
Friday, April 8, 2011
State Machines
I have had a few epiphanies in my so far short career as a software engineer. One of them is about state machine design. I remember my mentor saying something along the lines of the most important aspect of state machine design is making sure you handle the "error" cases correct. I am sure what he meant by this is that the state machine should behave in a reasonable, predictable and recoverable manor in the event of an unexpected event or sequence of events. I won't depute the importance of this especially in a product. However, there is one aspect of state machine design that I think is just important, but was not obvious to me earlier in my career.
At ALL cost try not to added memory to individual states. Let me give you an example.
switch (state)
{
case STATE1:
do something
case STATE2:
if (somememory == TRUE)
do something true
else (do something false)
}
This a very simplistic view, but in most cases STATE2 should be decomposed into two states. you should try to eliminate the guard at all costs. The advantage of this is not apparent until you try to extend or change the state machine. If every state is essentially orthogonal then extending the state machine is easy. If the some states are dependent on some stored value or as I like to say the state is overloaded to mean something different depending on some condition then extending the state machine can be problematic. Basically, I am suggesting that memoryless state machine are in generally far more maintainable than "extended" state machines.
Each state should mean exactly one thing and one thing only. There are obviously exceptions to this case. It is not uncommon for this exception to manifest as some sort of time interval. For example:
Timer fires -
If (timeout > time expired)
do something...perhaps change state
else
reset timer...no state change
I simply suggest that in the back of your mind that you consider the trade offs and limit the coupling between the qualitative and quantitative aspects of your state machine to increase flexibly and maintainable.
If there is one thing that I have learned since entering industry it is that "things' will change. The best thing that you can for yourself and the development of the project is to plan for this ahead of time and make sure changes are as painless as possible. There might be an upfront cost associated with this, but in the long run, it will pay off.
Drunk Test
The irony of today is that I just started this blog and low and behold something interesting happened. I am 29 years old and I have never been pulled over and given the drunk test....until tonight. I was pulled over literally right in front of my apartment. Apparently, for not using my turn signal. I believe it. I was bit lost in though running through a bug that I am trying to fix at work right now. I guess that I forgot my turn signal. Since this just happened, I will document exactly what happened.
First of all, I did drink tonight. I turned 29 on Wednesday and delayed some celebration until tonight. I had 3 beers. I don't really know what that means in terms of real serving sizes, but probably more than 3. In any event, I did tell the cop that I had 3 beers.
I am sitting in my car scared as shit. After all this could cost a shit load of money. I am praying that he just tells to me pull in my driveway and call it day. No such luck.
Test 1 The Moving Pen
I had to stand with my feet together and my hands at my side. The police officer took a pen out and instructed me to follow it with my eyes without moving my head. He moved it back and forth horizontally in a seemingly random pattern sometimes stopping right in front of me sometime off to either side . Then he started doing the same thing vertically.
Test 2 The Strait Line Test
I was instructed to walk toe over heal (like a super model) for nine steps. Then I was to pivot on one foot and do nine steps in the other direction.
Test 3 Balance On One Foot
I was instructed to balance on one foot with the other foot six inches off the ground while I counted 1 Mississippi ... 2 Mississippi...ect until he said stop, which was about 30 seconds.
Test 4 Blind Count
I was instructed put my head back and close my eyes and count down from 49 to 26 and back up to 49.
Test 5 Silent Count
I was told to put my head back close my eyes and count to 30 in my head or what I though was 30 seconds. Then put my head down and say stop.
Test 6 Alphabet
I was instructed to say the alphabet from E to P
Despite seemingly passing all those of these test, I was still given a breathalyser.
I was indeed under the limit. I didn't feel like it at the time given that my nerves amplified any physical effect the alcohol had on me . Moderation for the win!!!
I still don't understand why he didn't just give me the breathalyser to start our with. I mean if you are over you are over. What is the point of the tests. I should have asked, but I was too shaken up at the time to think of it.
I told the cop flat out that that was scary. He said just use your turn signals next time...Sure thing boss.
Side Note: I just researched the breathalyser and found that it is recommended that the tester keep the the "suspect" under observation for 15 mins to ensure the suspect doesn't burp or experience the expiration of of breath from sources such as eructation, regurgitation or vomiting, which may contribute to a false positive. I guess that makes sense, but I still don't see the point of the tests.
What Budget?
Democrats and Republicans are fighting for some 60 billion dollars in budget cuts. That might sound like a lot to average person, hell it is a fortune to my eyes, but in the grander scheme of things, like the over all budget of the US government this is pennies, literally. In 2010 we spent nearly 3.55 trillion. 60 billion is roughly 1.7% of that total, not even enough to make a dent in overall spending. This whole escapade is laughable. What really scares me is that if they can't come to any agreement over such a minuscule part of the pie then how on earth are they going to make the cuts they really need to make.
Now, I used to side with the Republican party in my younger days and by that I mean early twenties instead of late twenties, but I have to say that all politically parties are full of crap. They all feed the entitlement monster or war machine. We can't cut this because "some stupid crap". You know what cut EVERYTHING. 25% across the board. It is plain, simple and fair, everyone loses a little...done...problem fixed.
But what about our troops? The real question is why are we in three wars? I remember reading a new article where the writer said we have a "moral" obligation to help the rebels in Libya. As I get better at this bloging thing, I will remember to save references for stuff like this. Anyway, what exactly is a moral obligation and who's morals are we talking about here anyway. What does this mean. How is this a valid form of justification. A small tangent, but it continues to illustrate the point that our leaders can't make objective decisions. And this is a problem if we are going to curtail the out of control spending on entitlement programs...and even defense. ..that is right...across the board....no body left behind ;)
In The Beginning
I have been contemplating starting a blog for some time now. It seems like a great way to selfishly promote myself and by that I mean pretend that other people care what I have to say. Neither of the two statements above are true, but they sound funny, in my mind anyway. The reality is that I need to practice my communication skills and I need a place to vent the random thoughts perpetrating my brain. Ready? GO!!
Welcome to my cathartic medium. My name is Shawn Pfister. I am currently employed as an embedded software engineer for Allworx. I make VoIP phones and telephony servers do cool stuff. I am approaching this blog like a software project utilizing agile methods of development, hence the name Agile Rants. I don't know where this is going yet. I need to run through a few "iterations" to figure that out. Ultimately, I hope to have history of my progress as a writer. I suspect that you will find grammatical errors sprinkled throughout the blog. While that might irritate the Grammar Police, I don't care. This element of the blog is also agile. I will correct them as I find them, but the whole point of this log is to improve my writing skills, so expect some mistakes. Hopefully, as this blog evolves the frequency of errors is reduced. I will try to write at least one entry a week. Sometimes there will be more. Hopefully, there will never be less. Some posts will be about software development perhaps some epiphanies that I discover as I become a better developer or perhaps a vent or two about the ludacris posts on programmers.se. Other posts will most definitely cover my personal biases about politic and how I feel about current events. Maybe some day I will create another blog that is more professional, but for now this a playground for my mind. With that said, expect my opinions on things to change as I formalize my ideas much in the same way design or requirements document changes as new things are discovered or certain approaches are learned to not work well. This is an exploration and hopefully I come out better on the other side.
Subscribe to:
Comments (Atom)