Great article, on one of the Ubuntu mailing lists, titled my evolution as a programmer. It is written by a guy named Kragen Javier Sitaker and offers a pretty extensive overview of the different stages of mindset in the life of a software developer. It is worth the read if all you are interested in is a great list of programming books.
Category: Technology
Three More for the Fox
You will find that the State is the kind of organization which, though it does big things badly, does small things badly, too.
–John Kenneth Galbraith
Firefox is quickly becoming the one tool I cannot live without. While it works fine as a web browser, its plugin functionality has locked me in. Now that I am using twitter fairly regularly, I wanted a quick and easy was to post tweets from within Firefox and, often, specifically related to the website I am visiting. I found two:
- TwitterFox — Is the most complete and easy to use twitter tool I have found. Keyboard shortcuts for opening, viewing, and inserting URLs. All URLs are auto-decoded and long URLs are automatically tinyURLed. Even the pop-up box is attractive and unobtrusive.
- TwitterBar — When you need an even faster way to tweet… simply type your tweet into the address bar of Firefox and put –post at the end. POW, you have a new post.
Make More Urgent the Necessity
Luck is the residue of design.
–Branch Rickey
After an Dr. Dobb’s interview with Christos Papadimitriou I have been thinking about design, creation, and development of complex systems. Specifically systems that are fundamentally efficient. The most important systems in existence are all amazingly complex (in fact, entirely too complex to ever design) and yet are built (often upon very simply concepts.) They evolve into existence and are created without ever being engineered.
My favorite example is economics, which has as its basis very simple rules. Economics sprout markets; which which are not only insanely complex but suffer from constant attempts to control always with perfect failure. Other example include physics and the universe, computers and the internet.
So my question is, what other systems exist that can be created, but cannot be designed?
The Weekly Geek Revolt
Ever wonder why (knowledgeable) IT folk continue to hate Microsoft? Check out this article by Randall Kennedy. Kennedy talks about The Great Moore’s Law Compensator (TGMLC), and euphemism for Microsoft’s constant expansion with regards to system requirements. This constant bloating from software version to software version happens regardless of the actual proportional improvement to the software. The effect is that we run hardware that is a 1000 times more powerful and it was just a dozen years ago; but the speed at which are applications run are basically identical (and in many cases actually SLOWER.)
The second link is to the video presentation of Mark Pesce discussing the role of piracy in the film/television industry. It is a great rundown of the state and future of TV/film and the opportunities in those industries. The basic rundown is that everyone is going to be better off except for the broadcasters; who will see their virtual Monopolies disappear and, with them, their huge profits.
A Belated Holiday
In the end, we will remember not the words of our enemies, but the silence of our friends.
-Martin Luther King Jr.
More links to unload from my bookmarks folder. It is always nice to clean up my bookmarks and putting them on the blog makes them very easy to find in the future. Why is it that I always have more to read than time to read it?
- Destruction in Black America -This editorial by Jeff Jacoby of the Boston Globe talks about the reality of violence in black America.
- 100 Words Every High School Graduate Should Know -I know this is basically a publishing gimmick but it make for some interesting dictionary diving.
- 75 Words Every Sci-Fi Fan Should Know -Now this is an interesting list of words. Something to appeal to the geek in all of us. Psychohistory is probably my favorite in the list, but I am a little bias towards Isaac Asimov.
- How Software Companies Die -Software development is part art and part science. The “art” part of that equation takes special precedence when talking about cutting edge software engineering. Unfortunately those who do not understand IT (or even software development in particular) often fail to comprehend this fact. The tools of our past are often inadequate for the projects of our future. I run into this problem at my own company where those in charge are used to churning out a “product” and getting paid for that product
- LISP, The Comic Book -I know the title doesn’t make sense but the link provides a very nice “high level” introduction into the most powerful (and unusual) programing language ever created.
- Telephone Hacks -Nice list of features available to the telephone power user. The link is worth it just for the “tricking phone bots” tip.
- A REAL Media Center Edition -Looking for a home media solution. Windows Media Center treats users like thieves, and Tivo is limited inflexible. Without exception LinuxMCE is the best home media management system in the world. If you don’t believe me check out the demo video. It will absolutely blow your mind. There is NOTHING like it anywhere else in the home entertainment world.
While Using Someone Elses Computer
I’m convinced that about half of what separates the successful entrepreneurs from the non-successful ones is pure perseverance.
-Steve Jobs
Couple quick links:
- 36 Startup Tips — List of useful tips for entrepreneurs. Topics include software engineering, infrastructure, PR, conferences, legal, and financial.
- HyperPics — The definitive AutoCAD/AutoLisp customization site.
- Introduction to AutoLISP — For those who have never developed for AutoCAD before.
- Jeff Sanders AutoLISP — Another pretty basic AutoLISP tutorial site. Was particularly useful in getting the syntactical highlighting working for AutoLISP.
- CAD Digest, AutoLISP Archive — Old articles on using, developing, and working with AutoLISP.
Two points for anyone who can guess what I have been working on the last couple weeks.
The same mistakes, only sooner.
Yes, another set of links. I have a pretty massive bookmark list to empty out and everyone who visits suffers because of it.
- Dijkstra’s Algorithm – Wikipedia is like a drug. Hello my name is Bob.
- Beating Ubuntu – A editorial on how to take the Linux desktop title away from its current leader.
- Desktop Linux: Mission Impossible – Editorial discussing if it is even possible for desktop Linux to ever win the OS war.
- Kontact & Google Apps – Kontact is probably the best Outlook replacement on Linux and this tutorial by Linux.com helps you get it working with Google.
- Retirement Mistakes – Ben Stein (look up his wikipedia bio, you will be floored by how smart this guy is) discusses the 3 biggest retirement mistakes people make.
- Raising Smart Kids – Some tips on how to develop children with above average intelligence.
- The POG Gallery – Glen Palmer first designed the closed bold semi-automatic paintball gun before the Auto Cocker had even been conceived. To this day his son makes the best paintball guns in the world (with not electronics in them.) Here are some beautiful examples.
- Worlds Most Expensive Scotches – The title says it all.
- Bill Cosby’s Rant – This is part of a speech Bill gave at the 50th Anniversary commemoration of the Brown vs Topeka Board of Education Supreme Court Decision. It is an interesting commentary on the state of civil rights in the United States.
- Are Rich People Parasites – An editorial by David Gordon that discusses the economic value of wealth in a free market society.
Sacred memories and future promise.
Got a couple links I have been meaning to post.
- Coding Style – Is a post by Linus Torvalds about the success of Linux and why it should not be underestimated. The same explaination could be used to describe the success of capitalism.
- Timevault – HowToForge article on getting desktop snapshots on Linux using Timevault. It’s Gnome/Ubuntu specific but still worth the read.
- Ubuntu upgrade cycle and KDE – Is the initial article in hotly debated online discussion about the place of KDE in the Ubuntu world. I posted this for reference and not because I agree with the author, Stephen Shankland.
- Webmin HowTo – Article discusses configuration and installation of Webmin, the most comprehensive web management utility in existence (for any OS.) Webmin has been around for a long time and is an amazing management tool.
- 20 Entrepreneurial Quotes – Just like the title says. A very nice list of inspirational quotes for the self motivated.
- KWord Tips and Tricks – KWord is a word processing application for the KDE desktop enviroment. It is lightweight, fast, and has some functionality that doesn’t exist anywhere else in the Open Source world. A nice little howto for some of its features.
- KDE vs Gnome – Another in the long list of vs articles between KDE and Gnome.
- Getting Quickfind Fixed – If you have ever used Firefox’s QuickFind, then you can appreciate this fix. If you haven’t used it, they you should really try it out.
- Donald Knuth – This is just the wikipedia article on Donald Knuth. I have been reading some of his papers and wanted to reference his wikipedia bio.
Not Quite so Cool
This post comes to you via an AT&T 3125 smart phone with Windows Mobile 5.0. It has taken roughly 5.0 days to type this post.
Life is a foreign language; all men mispronounce it.
When I first starting working as a computer programmer, I constantly ran into the problem of bosses who wouldn’t appreciate the severity of the problem I was describing to them. After a number of years I improved on the situation by modifying the language I used when explaining a problem. This didn’t solve all of my employment issues (at the time I didn’t fully appreciate how dysfunctional the communication chain was in my employers hierarchy) but it helped substantially.
To understand what words mean when you are talking to programmer I recommend this article by Charles Miller. Here is an excellent example of a software engineering concept that non-programmers often fail to understand:
To a programmer, a problem is trivial if there is a clear solution, and the only thing that needs to be done is to implement it.
The only caveat is that triviality refers to how hard the problem is to solve, not how hard it is to implement the solution. So there is no necessary relation between a task being trivial, and how long it takes. To the programmer, once the plans for the bridge have been drawn up, the materials chosen properly and the model tested for how it would survive wind, traffic and earthquakes, actually building the bridge is trivial.