MacBook, defective by design banner

title:
Put the knife down and take a green herb, dude.


descrip:

One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com

Using 89% of the same design the blog had in 2001.

FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white.

As an Amazon Associate, I earn from qualifying purchases. Affiliate links in green.

x

MarkUpDown is the best Markdown editor for professionals on Windows 10.

It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support.

Features you won't find anywhere else include...

You've wasted more than $15 of your time looking for a great Markdown editor.

Stop looking. MarkUpDown is the app you're looking for.

Learn more or head over to the 'Store now!

Thursday, July 31, 2003



My current company's online support area has pages that don't display at all in Firebird but look just fine in IE.

Should "we" care?
* The products are all Windows specific.
* It takes time to test in other browsers.
* Everyone who has a product installed has IE.

I'd like to find an argument for caring, but I can't find a good one other than the usual, amorphous doing things "The Right Way".

posted by ruffin at 7/31/2003 11:11:00 AM



Good article about deploying Java on different JVMs.

posted by ruffin at 7/31/2003 08:42:00 AM
Wednesday, July 30, 2003



Untested code showing how to use the CommonDialog control in Visual Basic 6.

Basically I just wanted to stop having to hunt for this on CD to type it up from some slightly application-specific code and just come here from now on. Or, worse still, not paste the code in at all and start from scratch. QUELLE HORROR!!!

Just paste this code into a module called "mdlComDlg" or something similar. Poof.

(Updated 1/28/2004)

Option Explicit

'File Selection routine
'Copyright (C) 2003-4 R. Bailey
'
'This library is free software; you can redistribute it and/or
'modify it under the terms of the GNU Lesser General Public
'License as published by the Free Software Foundation; either
'version 2.1 of the License, or (at your option) any later version.
'
'This library is distributed in the hope that it will be useful,
'but WITHOUT ANY WARRANTY; without even the implied warranty of
'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
'Lesser General Public License for more details.
'
'You should have received a copy of the GNU Lesser General Public
'License along with this library; if not, write to the Free Software
'Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Public fso As FileSystemObject

' You must have a CommonDialog on some widget somewhere to pass in.  You apparently
' can't create one at runtime from what I've googled.
'
' Will return "" if no file is selected/user cancels the select/an error occurs
' before a file is selected.
'
' Pass in a collection of extensions to search for with code similar to the following:
'
'    Dim colExts As Collection
'    Set colExts = New Collection
'
'    With colExts
'        .Add ".txt"
'        .Add ".html"
'        .Add ".htm"
'    End With
'
'    Me.RichTextBox1.Text = mdlComDlg.selectFile(Me.CommonDialog1, "C:\", colExts)

Public Function selectFile(cdlgTemp As CommonDialog, _
    Optional strInitDir As String = "", _
    Optional colFileExtensions As Collection, _
    Optional bCreateFileNotOpen As Boolean = False, _
    Optional strRetValIfCancel As String = "") As String
On Error GoTo errHand   ' mainly just going to be capturing
    ' for the cancel button in the common dialog control
    
    Dim strReturn As String
    Dim strFilter As String
    Dim strDot As String
    Dim strPipe As String
    Dim strTemp As String
    Dim varTemp As Variant
    Dim lngFlags As Long
    
    Dim isFileSelected As Boolean   ' b/c of the way cancel errors
        ' are handled, we might branch out of the logic before everything's saved.
        ' If the user got far enough to select a file,
        ' we'll save it out in the error handler on cancel.
        ' This var will tell us if they got that far.
    
    strReturn = ""                  ' no file yet
    isFileSelected = False          ' no file yet
    strFilter = ""
    strPipe = ""
    strDot = ""
    Set fso = New FileSystemObject
    
    With cdlgTemp
        If fso.FolderExists(strInitDir) Then
            .InitDir = strInitDir
        Else
            .InitDir = App.Path
        End If
        
        .FileName = ""
        
        ' set up filters with the extensions (strings) in colFileExtensions.
        If Not colFileExtensions Is Nothing Then
            For Each varTemp In colFileExtensions
                strTemp = CStr(varTemp)
                
                If InStr(strTemp, ".") = 1 Then
                    strDot = ""
                Else
                    strDot = "."
                End If
                
                strFilter = strFilter & _
                    strPipe & _
                    strTemp & " Files (*" & strDot & strTemp & ")" & _
                    "|*" & strDot & strTemp
                
                strPipe = "|"   ' separator after the first extension type.
                
            Next
            
            .Filter = strFilter
        End If
        
        .FilterIndex = 0
        lngFlags = mscomdlg.cdlOFNPathMustExist + _
            mscomdlg.cdlOFNHideReadOnly

        If Not bCreateFileNotOpen Then
            lngFlags = lngFlags + mscomdlg.cdlOFNFileMustExist
        Else
            lngFlags = lngFlags + mscomdlg.cdlOFNOverwritePrompt
        End If
        .Flags = lngFlags
        
        .CancelError = True     ' cancelling causes an error
        
        
        If bCreateFileNotOpen Then
            .ShowSave
        Else
            .ShowOpen
        End If
        
        
        strReturn = .FileName ' If they cancelled,
            ' we'll have "errored out" (cancelerror = true)
        isFileSelected = True   ' If they didn't,
            ' remember that we've gotten this far.
        
        ' insert any code that needs to happen after a file is selected.
    End With
    
    
    selectFile = strReturn

Exit Function
errHand:
    If Not Err.Number = 32755 Then  ' 32755 means that cancel
        ' was selected, and we'll ignore that one
        ' by just dropping out of the sub entirely
        
        MsgBox Err.Number & " :: " & Err.Description
        If Not isFileSelected Then
            strReturn = ""
        End If
    Else    ' else we've got a cancel error
        strReturn = strRetValIfCancel
    End If
    
    selectFile = strReturn
End Function

Labels: ,


posted by ruffin at 7/30/2003 10:08:00 AM
Tuesday, July 29, 2003



Make internal speaker beep with VB6 (most of the code stolen from here:

Option Explicit

Private Declare Function Beep Lib "kernel32" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Private Sub Form_Load()
    Dim i As Integer
    
    For i = 1 To 50
        Beep 500, 100
    Next i
End Sub


Exciting and useful!

posted by ruffin at 7/29/2003 10:33:00 AM



The scariest thing I think I've learned recently (and shows just how perceptive I am) is that you're taught what you're taught not because most people learn it, but b/c most people never do. Why are good coding practices taught, even in online articles and magazines, over and over? Seems they're not "reminders" to those of us who do follow convention but are rather appeals to the majority who don't.

posted by ruffin at 7/29/2003 09:43:00 AM
Monday, July 28, 2003



Also, with [our product], we were going from a 16 to a 32 bit environment.

Unfortunately, I only know a few people who use Netscape.


16 to 32 still coulda used the same code, give or take, and definitely coulda used the same db schema plus additions/revisions. Though I don't agree with Joel 100%, he's got some great points in that piece. There's often a reason you've got wacky, "So we make this id negative..." bits that nearly justify the kludges. I don't judge. ;^)

That people don't use Netscape is his point. If there's any competition and you throw your lessons (saved in the code) out the door, well, you're asking for it. Everyone loves to rewrite. Few know refactoring is almost always smarter.

posted by ruffin at 7/28/2003 10:20:00 AM
Wednesday, July 23, 2003



Recent post to oreillynet.com:

Just went through the same rigamarole to backfill a 500 MHz iBook with an older Powerbook as I trade up to a G5 (iBook == cash). Got a 1400 for $100 shipped, and so far so good, sorta...

Lessons learned:
1.) Low End Mac is the place to find out about old, um, low end Macs. 1400 info here: http://lowendmac.com/pb2/1400.shtml

2.) There is no cheap G3 laptop out there, no matter how creative you are. You'll either be much too feature poor (1400 + G3, or a clamshell iBook without the power to really run OS X -- and you'll try) and/or you'll have spent so much you'd've been better off buying a new iBook for $1000.

3.) Fortunately, a 603e in OS 8.1 or 8.6 is plenty.

4.) Maybe the best news of all is that you can still use Airport with the old beasts!! (http://www.penmachine.com/techie/airport1400.html)

Still waiting for my eBayed Orinoco card to come in. My 1400's 48 megs of RAM almost runs CodeWarrior 5 for Java and OS 8.1, and runs MacWrite, no problem. Very easily upgraded hard drive -- as many gigs as you can stand if you partition. You can't say that about an iBook.

Oh, and...

5.) If you want Linux, run like the wind *away* from the 1400. When you start looking for how to support ethernet on the 1400 with MkLinux and stumble over how easily gentoo can be used on other 603e 'books, well, you know you got the wrong box for Linux. Course if you want Linux, there *are* other, blasphemous, inexpensive, highly-compatible x86 laptops out there...

posted by ruffin at 7/23/2003 09:42:00 AM
Tuesday, July 22, 2003



cocoa and embedding browsers

posted by ruffin at 7/22/2003 04:16:00 PM



Nice table of datatypes, translating ADO to ADO.NET to Access to SQL Server to...

Can you tell I'm doing something "new to me" today?

posted by ruffin at 7/22/2003 11:26:00 AM



Compressing/serializing a recordset rather than using ASCII/XML.

posted by ruffin at 7/22/2003 10:51:00 AM



Welp, finally found a use for XML, but it might as well just be ASCII for all I care. Didn't need to learn XSLT or XPath or whatever the freakin' heck.

Anyhow, it's persistent recordsets in Visual Basic 6/ADO with XML. I'd been following some red herring about MSPersist being required and installed or some such, but ADO 2.6, at least, seems to have what I'm looking for. Basically you're turning an ADO Recordset into attribute-heavy XML and then reading that into another RS.

Here's a sub I added to the mix for straight reading the XML file that's created in the first Sub, above:

Public Sub readRsFromXml()
On Error GoTo errHand
    Dim strTemp As String
    Dim i As Long
    Dim rst As ADODB.Recordset
    Set rst = New ADODB.Recordset
    
    'For sake of illustration, we specify all parameters
    rst.Open "c:\Pubs.xml", "Provider=MSPersist;", _
        adOpenForwardOnly, adLockBatchOptimistic, adCmdFile
    
    If Not (rst.EOF And rst.BOF) Then
        For i = 0 To rst.Fields.Count - 1
            strTemp = strTemp & rst.Fields(i).Name & vbTab & vbTab
        Next i
        strTemp = strTemp & vbNewLine
        
        rst.MoveFirst
        While Not rst.EOF
            For i = 0 To rst.Fields.Count - 1
                strTemp = strTemp & rst(i) & vbTab & vbTab
            Next i
            strTemp = strTemp & vbNewLine
            rst.MoveNext
        Wend
        
        Me.richOut.Text = strTemp
    End If
        
Exit Sub
errHand:
    MsgBox Err.Number & " :: " & Err.Description
End Sub


Note that to take this from a local file to a URL is pretty danged easy:

    'For sake of illustration, we specify all parameters
    'rst.Open "c:\Pubs.xml", "Provider=MSPersist;", _
    '    adOpenForwardOnly, adLockBatchOptimistic, adCmdFile
    
    rst.Open "http://myBox/adoXml.asp?state=IN", "Provider=MSPersist;", _
        adOpenForwardOnly, adLockBatchOptimistic, adCmdFile


Security options are left as an excercise for the reader. ;^) And the writer, for all that matters.

posted by ruffin at 7/22/2003 09:33:00 AM
Monday, July 21, 2003



Nice to see somebody ported Mozilla for Mac classic. Bugs in https, apparently, but neat to see.

posted by ruffin at 7/21/2003 01:32:00 PM
Wednesday, July 16, 2003



Old style file reading in Visual Basic 6. You know, (from the page):


Private Sub Command1_Click()
Open "foo.dat" For Output As 1
Write #1, name$, address$, ZipCode
Close
End Sub

and

Private Sub Command2_Click()
Open "foo.dat" For Input As 1
Input #1, name$, address$, ZipCode
Close
End Sub

posted by ruffin at 7/16/2003 02:21:00 PM



Welp, I admit it. Looks like I was wrong. An AOL-supported Mozilla is dead.

What does this mean for the OS X AOL client? That's the one thing (Gecko-based OS X client is already out there) that made me think it'd keep going. Looks like IE 7 (or whatever) is going to have some really neat stuff. Enough that the MS licensing agreement with AOL makes it a good idea for AOL to kill Gecko as a back-up engine for its software. Maybe the Safari embeddable engine is easy enough to use that AOL is going that way. Or maybe AOL OS X's engine will just fold up into proprietary software. The MPL allows that.

I don't feel *that* badly. AOL, whether it meant to or not, pulled the plug, strangely enough, immediately after Moz became the best browser on the market. That's good timing from where I'm sitting -- which is in front of a monitor, blogging with Mozilla/Firebird.

Anyhow, here's an email I sent to the person who told me:

Some schmoe wrote on Wednesday, July 16, 2003 10:18 AM:
> http://mozillazine.org/talkback.html?article=3422

Nice link to a s3x site there, thanks. (ex-mozilla.org or whatever link inside of that article)

(from the article, not about s3x):
I've been informed that the number of volunteer Mozilla hackers started eclipsing the number of Netscape hackers last month, and that a number of folks have already been snatched up by other organizations.

Yeah, and there are hundreds of Furthurnet hackers, but really only one guy that works on the code. We all see where the OS 9 Mozilla code ended up once it was volunteer only. If people aren't paid to work full-time, they won't. Except maybe RMS. And we all see where Hurd is right now... ;^)

Is Netscape disappearing completely? Didn't see much on /. other than the Moz Foundation -- guess this is old news?

posted by ruffin at 7/16/2003 10:36:00 AM
Tuesday, July 15, 2003



The Digest Handler is out, and I've pimped it on at least one email list where I was fortunate enough to have someone ask, "What application do you use to read email lists?"

A couple of observations in this first 48 hours of release...

One, at least one person who has downloaded seems to have thought that the application was a REALbasic application. I think this shows how well the Apple Java team have integrated Java tools with the OS. Your apps, when using the Aqua Look & Feel, really do appear to be native. Very nice.

Second, for some reason I'm being flooded by new ideas springing into my head how users will want to use the app. They'll want search, threading, more robust email handling (possibly to the point I have a real mail handler), Address Book support, etc. I use The Digest Handler every day. Though I'd argue that it's hardly free for me -- I have spent months of time on it -- if I want a new feature, I add it. That's exactly how free software works, but isn't the way commercial software works. It's also why people deal with poor free software and don't purchase highly superior, at times, commercial apps that do something similar. You can't just have a better product, it has to be, in this case, visibly $17.50 better than the free competition. Obviously if you save three hours a month with The Digest Handler it's worth more than $17.50, but to someone trying it out for a week, they might not notice if I do add features above and beyond the proverbial call of duty.

Anyhow, ramble off. If you have OS X, give it a shot. :^)

posted by ruffin at 7/15/2003 08:44:00 PM
Sunday, July 13, 2003



Welp, the trialware app is out and it's pimping time. If you're running Mac OS X, any version, it's time to hotfoot it over to The Digest Handler's home page and download you a copy!

If you'll forgive me, here's the standard blurb:
The Digest Handler is an essential, time-freeing email utility for any email list subscriber. Check efficiently organized list emails with ease. Reply to individual list emails quickly. Email the list, posts' authors, or create new list posts within The Digest Handler without the hassle of cutting and pasting quotes as you would in typical mail handlers.

Whether you're subscribed to YahooGroup's Chamber Music list, Topica.com's investments group, or one of the hundreds of independent mailing lists available on the net, The Digest Handler lets you quickly scan for those messages most important to you, contribute your responses, and get on with your business.

If you're subscribed to email list groups, you need The Digest Handler.


Honestly though, the app is right handy. I wouldn't have bother writing it if I didn't need it myself. The app is fairly well done, and runs reliably for me day in and day out.

If you are a member of more than a couple well-trafficed listservs, this app will save you hours every month. Give it a download, and let me know what you think!

posted by ruffin at 7/13/2003 10:59:00 PM
Saturday, July 12, 2003



With regards to that icon blurb I posted earlier, turns out there's at least one real useful icon already up in his catalog (download from this page). Just slap a few words on top and you're ready to go. Least that's what I'm doing this go around.

I'm hoping to hack up a quick Gimp tutorial of how I added drop-shadow, and I'd also like to get the page color to change there (from white to *something*), but since I don't have Photoshop, I'm having to Gimp tool out the different parts of the icon.

Oh well. The last 10% of app production is certainly the hardest.

posted by ruffin at 7/12/2003 10:49:00 PM
Friday, July 11, 2003



Great news from the JavaOne conference!

To me, the single biggest overall announcement at this year's JavaOne was that both Dell and HP will be bundling JREs onto all of their computers. This is a huge end-run around Microsoft's attempts at balkanizing and marginalizing Java on the desktop. Over time, this sort of bundling can dramatically change the network effects of becoming much more ubiquitous for normal users. From this perspective, the creation of the java.com portal for consumers is good support, and a clear indication that Sun is finally starting to do something about the needs of the end users of Java technology.

That's huge. That's great. I can't wait. Hope it's true, ie "pans out".

Lesser-ly-great, but interesting:
Apple PowerBooks are now definitively the developer's choice for laptops. At this JavaOne, the ratio was about 50% PowerBooks and 50% everything else. More specifically, most were the older Titanium PowerBooks, but there was a nice showing of the new Aluminum PowerBooks. I toted my new 17" PowerBook (the "aircraft carrier") for the entire week -- it wasn't as painful as I expected. :-) In terms of Java, Apple's machines support hardware-accelerated Swing, which makes for a much nicer Java GUI experience.

Makes me want that 12" Powerbook G4 again.

posted by ruffin at 7/11/2003 04:27:00 PM



This doesn't sound like a good deal.

I can feel this guy's pain with respect to making icons. Sheesh. I've spent hours this week making graphics with The Gimp this week getting The Digest Handler ready to get out the door.


Two Mac blogs I might check out in more detail after work (and where I got those two links):
http://daringfireball.net/
http://www.raoli.com/

Not real excited about the random baseball posts in the second, but interesting to bump into some more Mac-users' blogs.

posted by ruffin at 7/11/2003 01:59:00 PM
Thursday, July 10, 2003



Lame attempt to be the first Google-cached page with the phrase, "Help your teethes get they drunk on!"

posted by ruffin at 7/10/2003 03:29:00 PM
Wednesday, July 09, 2003



from here:
An Extensive Examination of the DataGrid Web Control: Part 15 07/09/03
This article is the fifteenth piece of a multi-part series on using the DataGrid Web control that will span several months


Learn html, already!

posted by ruffin at 7/09/2003 03:49:00 PM
Tuesday, July 08, 2003



It's all about perceived value, not actual worth. Before you price you products, forget about how much time you put into it or how much you think somebody "should be willing to pay". Think about how much it's worth to your customer.

Example: The Powerball lottery deal has a jackpot of over $200 million now. People are apparently buying tickets like mad, up over a third from when the jackpot was closer to $100 million.

What the heck? What difference can it possibly make to anyone that they're throwing away three bucks to watch someone win ten million or three hundred million? Look, you're not going to win. And even if you do, the amount extra you stand to gain doesn't come anywhere near offsetting the odds of winning. Your three dollars was a bad "investment" then and it's a bad investment now.

Even if we say you were going to win, what's the operative difference between $100 and $200 million to John Q.? If it was worth $3 bucks for $200 mil, why wasn't it at $100?

You do see my mistake, right? I'm thinking rationally, give or take. But people perceive that the lottery is, in some fashion, a better value now, so they shell out more bucks. It's all about perceived value (and probably a little marketing, in this case -- "Hey, come win one of the largest jackpots EVER!!!"), and sometimes, even when there's little to no real value at all, that perception can mean millions in profits.

posted by ruffin at 7/08/2003 09:42:00 AM
Sunday, July 06, 2003



Though it shows just how little I've used it, I've just [a few days ago] been introduced to Visual SourceSafe's (a Microsoft versioning system) ability to drag a file from one project into another. Now, whenever the original file's changed, it's changed in *every* project that references it.

Whew boy, that could be a bad thing. If you break compatibility with earlier versions, you could bring someone else's code crashing down. Same thing if someone comes back to maintain older code later and there's been a version update without taking shared projects into account.

I'm sure there's some way to help mitigate that in VSS, but even more importantly is that it gets programmers to start thinking of individual files of code more intelligently. You have to factor correctly for these things to work in separate projects. No more undeclared wacky, project-specific, global-scope variables. Now they *have* to be parameters, and so forth. Very nice fringe benefit of sharing code. It actually starts to look like code should.

Speaking of code that doesn't look like it should, my trialware app is about to [finally] be released. Incorporated the business and registered with three levels of government so that I can do business. Also went over to Kagi.com to get an account. Why Kagi? Well, that's traditionally the place Mac shareware registers, and I'm afraid it's just Kagi's dominance in that particular market, combined with their longevity (to this point, at least) that's got me interested. They do, however, have a few good perks, like a permanent email forwarding address (rufwork at kagi dot com for me) and a permanent URL that forwards to your site. These are, ultimately, very small things, but they really do decrease the price of admission for shareware authors. Now you don't have to worry about getting your own domain, etc, before starting up your business, if you don't mind passively advertising Kagi when you're taking the shortcuts.

And now the "port" to Mac Classic begins. Wonder if that'll bring any dough whatsoever.

posted by ruffin at 7/06/2003 11:08:00 AM
Thursday, July 03, 2003



Been using iTerm for a while in Mac OS X in place of the default Terminal.app. Really neat little app. You can set all sorts of colors, make the term's background transparent, and have mutltiple tabbed terms open in the same window. A little slow on the draw sometimes, but neat over.

That said, I've stopped using it for Apple's X11. For some reason, both Terminal.app & iTerm have real problems with some "command line" apps (ncurses stuff). The xterms in X11, however, do just great with ncurses, come up faster and act more responsively than iTerm or Terminal.app, and has to be open for me to run, say, Abiword anyhow.

That X11 ships with 10.3 (apparently) is good news. It should replace Terminal.app on OS X.

posted by ruffin at 7/03/2003 07:54:00 PM



Hilarious Powerpoint commentary:
http://www.norvig.com/Gettysburg/
http://www.edwardtufte.com/1472288704/tufte/graphics/book_ppcover2_full.gif

posted by ruffin at 7/03/2003 03:22:00 PM



Last bit... I complained a while back about how screen resolution can make development difficult in certain IDEs. Well, after seeing someone who didn't use the multi-document interface for VB6 the issue is really MDI!

Look in Visual Basic 6's Tools menu and select Options. Go to the Advanced tab. Check the box for SDI.

This is how VB3 worked by default, and now the windows don't compete for space. Not the most keyboard friendly set up, but VB never was. What's important is that now each window can take up the entire screen. Very nice. And there are keystrokes for getting to the windows that you used to think you needed to see all of the time. Makes my argument moot-er.

You might print out a screengrab of the View menu item, and you'll want to make sure you minimize all other windows before starting. You cannot alt-tab to different screens in the IDE, which sucks, but it is, ultimately, very nice.

posted by ruffin at 7/03/2003 09:39:00 AM



Before anyone gets too excited about the Red Hot Chili Peppers and Metallica not giving out music on the Apple Music Store, you might check the quotes (from here).

"Our artists would rather not contribute to the demise of the album format," said Mark Reiter, with Q Prime Management Co., which manages the Red Hot Chili Peppers, Metallica and several other artists.

...

"We can't let a distributor dictate the way our artists sell their music," Reiter said, adding that the business terms were otherwise acceptable.


That's understandable. If you only have a few good songs on a album, I can see this being an issue. You'd like to charge more for the good ones, so to speak. Now if all of your songs are good, hopefully the "samples" you can get on the Music Store will show that and people will grab them, but even so I can see the complaint.

But the important bit here is that the issue isn't a technical one, or even one against digital, online music purchases. It's a financial/culture one. I'm betting it gets solved. Eventually. I mean heck, they aren't there now. It's not really "news" for store users.

posted by ruffin at 7/03/2003 09:06:00 AM
Wednesday, July 02, 2003



Java text printing

posted by ruffin at 7/02/2003 10:54:00 AM



Finally happened. I don't need sugar in my coffee. No, literally. I tried no sugar this morning and it worked. Scary.

posted by ruffin at 7/02/2003 09:04:00 AM



Just for the heck of seeing if it could be done, I've managed to build a command line AIM client on my iBook. Obviously when I say "build" I mean I typed "./configure" and "make install"; I didn't actually program the bugger.

Neat little app. Next goal... ssh into the iBook and ntame my way from work. We'll show those nasty work censors who's boss. Or at least have learned a little about ssh. Will be nice to have access to my box from work, if it works.

posted by ruffin at 7/02/2003 01:20:00 AM
Tuesday, July 01, 2003



If you're not coding your html in jEdit (exceptions are VIm and emacs, I suppose), you're making a big mistake.

posted by ruffin at 7/01/2003 09:58:00 PM



Been looking at options for web hosting, and I'm happy to have "discovered" a trend. Linux hosting packages seem to be, on average, 25% or more less expensive than equivalent Windows hosting packages. I think this pretty firmly dispenses with the "cost of ownership" arguement that MS keeps trotting out. Is it easier to find a VB programmer than Perl? Perhaps, but when it comes to hosting a web site, including RDBMS access and dynamic scripting langs, I believe the rates speak for themselves.

posted by ruffin at 7/01/2003 08:34:00 AM



More evidence that OS 9 isn't quite dead yet... Apple's release of older motherboards for the G4 towers it's currently offering is motavated by two things: making the towers more cheaply and releasing powerful machines that boot into OS 9. I think the second reason is bigger than Jobs would like to admit.

posted by ruffin at 7/01/2003 12:08:00 AM

<< Older | Newer >>


Support freedom
All posts can be accessed here:


Just the last year o' posts:

URLs I want to remember:
* Atari 2600 programming on your Mac
* joel on software (tip pt)
* Professional links: resume, github, paltry StackOverflow * Regular Expression Introduction (copy)
* The hex editor whose name I forget
* JSONLint to pretty-ify JSON
* Using CommonDialog in VB 6 * Free zip utils
* git repo mapped drive setup * Regex Tester
* Read the bits about the zone * Find column in sql server db by name
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
* .ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); (src) * Break on a Lenovo T430: Fn+Alt+B
email if ya gotta, RSS if ya wanna RSS, (?_?), ยข, & ? if you're keypadless


Powered by Blogger etree.org Curmudgeon Gamer badge
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity.