April 08, 2005
For those of you who think you work with the biggest idiot
So, compare and contrast the biggest idiot programmer you know with this fine sample.
http://workingwithclueless.blogspot.com/
April 05, 2005
OK, now I'm old
I admit it, I've gotten old on myself.
As of a few days ago I started thinking about the latest number to be attached to my psyche: thirty. Not one of those numbers that people look forward to, but also not a harbinger of woe either. It just seems that I’m in those average blah years of mediocre disgust.
I’m not really disgusted at life, I have a good family, my oldest child is now 4 and child number three will be arriving shortly. So my kids aren’t old enough to be telling me off or listening to music I disapprove of…yet. My hair isn’t turning grey or thinning, and the lines in my face are only slightly deeper now than before. So like I said, nothing to get really disgusted about, just a little disgusted. You know -- a mediocre disgust. Just prep work for the real disgust that is to come later on in life.
See, this is a way of happily looking forward, and at the same time knowing that it is all down hill from here. I see the signs already. I have already started to vocalize about music that I do not approve of. Clothing styles are popping up, and I can already mentally hear myself staying: “Not on my daughter!” In other words, I’m done for.
We can all now breathe a collective sigh of coming disgust.
Unfortunately, the number thirty also causes large pangs of reflection to occur. Reminiscing about what I’ve accomplished – or not. Professionally I’ve written a lot of code, and I’ve even written about some of it. Some of the code has been really good. Some of it gives more of those mediocre disgust feelings. But the question really lies in one area: are my good years really behind me?
Why do I worry about this? Most of the time, if you are going to do something really cool, you do it in your twenties.
March 31, 2005
What good is a BS:CS
This sort of thing has been covered many times before (even by me), but here was my response:
One thing that having a BS often does prove is that you are good at things other than CS. Like writing documentation, interacting with people, and understanding instructions.
One item that I feel is granted (probably by everyone here): college CS training stinks. It isn't for lack of trying, just more because of the scope of the subject. CS hasn't been around enough to really subdivide like Engineering has (Civil, Mechanical, Electrical, etc) beyond the generic Programmer and Administrator tracks.
But for the programmer tracks there is just a lot there to learn. How many languages do you use now? I use Delphi, C#, VB, SQL, VBScript, JavaScript, and MDX. But I also know how to read C++, Java, and many others. Then there is the .NET Framework, VCL, and Win32 -- and web development is entirely another animal. Any one of those is beyond the scope of a college course.
I remember reading one luminary on CS talking about how top notch schools are really just vocational schools for Java programming. Because coming out of college, Java is the only thing any of them really know. Actually, he was annoyed because none of them were coming out of college as top notch C++ developers (can that even be done in 4 years?).
Now look at what else has to be done to earn a degree. You have to take Math, English, Econ, Business, Philosophy, Psychology, Religion (at least at my college), Biology, Art, Chemistry, Music, etc. That is what you have to take OUTSIDE of CS. And the first year of college you will only take 2 CS classes -- TOLAL. That is just a "How to Program" course.
So, if you went straight into programming, without a degree: good for you. You got a 4 year head start on me, because I definitely did not come out of college at the same level you would have been at after 4 years. You would have spent 4 years doing nothing but programming. I spent 4 years meeting the requirements for a degree.
The degree isn't about coming out of college being an expert programmer. I dont think it is possible to go to college, become an expert programmer, and get a degree in 4 years. It is about being versatile and rounded. After that, becoming an expert programmer "should" be easy. But that has to do with aptitude...and that is a whole other topic.
March 28, 2005
Delphi to C#: oh my!
May the force be with you.
Netcoole Migration Services
March 27, 2005
Joy and fun with old software
Now, my father can neither be classified as a computer expert or newbie. At this point, novice works well. He has been working on computers since 1985, but only enough to run his business on the thing. What type of business: a dairy. 1000+ cows, all with their names and life histories tied up in this thing. And at this point, with out the computer, the dairy will run (cows will still get milked, fed, and watered), but most other activities stop. Like parole, bills, and medical treatments get a little more interesting.
That said, the last time my father upgraded his computer was 1996. Maybe 1997, but probably not. And, just to make life more fun, his dairy program (what he spends a considerable amount of time in) was last updated in 1995, and is still dos based. I'm almost positive the program was written in Turbo Pascal 5,6, or 7.
Amazingly, it runs like a champ on any x86 computer running at least Dos 5 or newer (including WinXP)...so long as the CPU isn't faster than, say, 266 MHz. After that, you get a rather famous "Run Time error 200". Which, near as the oracle of Google will tell me, affects Turbo Pascal 5,6, and 7 programs the world over.
Great. No now we are left with either buying a new or competing product to run, or hack the sucker and try to convince the existing app that the sky is not falling and 2 GHz is not a bad thing. Easier said than done. There are applications out there that will modify the existing binary to make it work -- but they don’t work for this app (I tried). There is a TSR that you can install that catches the error and tells the application to ignore it -- doesn't work (do TSR even work with Windows anyway?). I found all sorts of code patches for this. But I don’t have the code. I'm stuck!
As I said earlier, my father is a computer novice. He knows how his programs work, and he knows them very well. And this program is essentially a data entry program. If there is one thing I am certain of: DOS programs can excel at data entry, and most windows programs stink at it. And now I think my father is going to have to find out how badly windows data entry programs can stink -- and he will blame me for it.
As his only son actively involved in software development, and the one who convinced him to get a new computer in the first place, I will get blamed. Not always directly though. It usually starts as "Why does this work this way?", followed by "Well that isn't very good." And the frustration grows. Luckily I have a good relationship with my father and the frustration doesn't last very long. I'll switch the topic to fishing or grandkids and then everything is fine.
Now I'm left with a couple of thoughts from all of this.
1. why does data entry on a windows app have to be so much worse than DOS? Have we regressed? Who thought that using a TAB instead of ENTER would be a good idea? Mainly because now I have to hard-code ENTER to do what TAB does every time.
2. Why don’t we ship more code with products? Or script them more? I've been toying around with making a new application framework using .NET (because I don’t have one right now and I'm too cheep to buy one). It is completely possible to script large chunks of the application. Like a scriptable add-in architecture. Right now I'm thinking of a cross between Microsoft Office VBA and ASP.NET without code behind.
3. Next time, if a family member asks me what computer to buy: I'm suggesting a MAC.
March 25, 2005
T-Rex soft tissue found
2 links below:
http://www.wired.com/news/technology/0,1282,67014,00.html?tw=rss.TOP
http://news.yahoo.com/news?tmpl=story&ncid=753&e=1&u=/ap/20050324/ap_on_sc/t_rex_tissues
March 21, 2005
Delphi 2005 update
The Good:
1. There is nearly a component for everything. This thing ships with a lot of the pieces that are missing from Visual Studio.Net.
2. So far all my old Delphi code still works! So far... :)
3. The amount of things that you can do with this thing is unreal. Between Delphi Win32, Delphi.NET, and C# I rule the windows world!
The Bad
1. Startup time is slow(er than Visual Studio 2003). Almost obnixious slow. I mean come on: do you have to load EVERYTHING into memory to load the app?
2. It has crashed on me once so far. For a new product (I consider it new anyway) that isn't bad. But when it crashed, it just disapleared. I lost my changes and it went away.
3. Adding files to the project is non-standard and/or non-intuitive. Or else I am idiot and missed the option. To add a unit to the project: First you select the project, then go to the Toolbox, then find the unit tab.
Why isn't there a File->Add File option...could be, but I can't find it.
Note: wonderful part about blogs, if it turns out that I am an idiot and I'm wrong -- I can update the blog and look smarter.
March 15, 2005
Source for a C# compiler written in pure C#.
You can read the details in the link below.
Source for a C# compiler written in pure C#.
Not that I would use such a thing in production...you can already get the real C# compiler for free from Microsoft in the .NET Framework SDK. But it would be interesting to read through the code and see how he did things.
March 14, 2005
March 07, 2005
Finally: Delphi 2005
The last version of Delphi that I actively developped with was Delphi 5. That means I missed versions 6,7, 8 and Delphi.NET, not to mention Kylix.
I have a LOT of catching up to do.
Delphi 2005 has built-in refactoring, you can develop in native Win32 or .NET, write web pages (ASP.NET or IntraWeb), it has 2 built in reporting engines, comes with the ComponentOne controls, and you can write C# code with it.
I have a lot of catching up to do.
One of the minor things I'm going to have to get used to is the new IDE. It now looks like Visual Studio.NET (with a few minor tweaks). It now has NUnit and DUnit integration (I will look into that), HTML, and CSS formatting support.
Good grief, this could take a while. Oh well, I'm up for it.