|
 |
Monday, 2 December 2002 |
Web Zen (Extended Dance Remix): Buy Nothing. Give Everything. In belated commemoration of Buy Nothing Day, we offer this supplemental installment
of weekly Web Zen. Don't spend a cent. Say it with Found Crap.
(1)
Thriftdeluxe: A non-commercial DIY
zine offering "easy and cheap but damn cool projects that anyone can make
by following our simple instructions." Cheese grater lamp! Coca-Cola vase!
Melted vinyl record bowl!
(2) Project Dole: Two Swedish guys
decorate an apartment with nothing but banana boxes.
(3) Mini-itx.com:
Recycling, deconstructing, reconstructing, and generally funkifying the humble
PC. What happens when you cross a motherboard with the Mothership? Stuff happens.
Like the PC-in-a-toaster (left).
Discuss (Thanks,
Frank!) [Boing Boing Blog]
I so want that toaster. Oh, and I am going to need to furnish a new place soon too ... :-)
8:24:40 PM
|
|
Coding in the Small.
Coding in the Small. Test Driven Development: By Example by Kent Beck has changed my life in 48 hours. While I haven't completely gone test-first, I have radically changed the way I write code. Specifically, I'm using a lot more fine-grained interface-based designs in order to make testing with mock objects easier. My test-cases now actually demonstrate the logic instead of just blindly exercising methods after a bazillion lines of setup code. TDD has forced me to think about coding in the small so that I focus on exactly and only the portion I'm currenlty working on. Over the past 3 days, I've noticed... [bob mcwhirter]
Even Bob's catching the fever.
In my programming career I have had three major advances that have totally changed (for the better) the way I think about development.
-
Getting my head around programming. Suddenly anything's possible.
-
Getting my head around OO. Suddenly everything's cleaner.
-
Getting my head around TDD. Suddenly everything has meaning.
For me, TDD is a specification, design and documentation tool. From writing a test alone you can specify what you want, derive an intuitive interface and end up with a snippet of code as an example of how to use it. With this specification in place you also have a goal, the green bar - your tools will tell you when you're done. And it's hard to practise TDD without components that are all munged together, so loose coupling tends to appear. The fact that you get unit-tests for free is also a nice bonus which allows daring refactoring. [Joe's Jelly]
It is refreshing to see sanity breaking out in a community. :-)
8:22:51 PM
|
|
I is NOT for Interface.
I remained silent on the prefix all your member variables with m_ thing, because it's a matter of taste. I find it ugly and mostly useless, other people think it's important, but because it doesn't affect anything outside the class, it's largely irrelevant.
I must, however, disagree with prefix your Interface names with I (e.g. IWindowListener).
[...]
[The Fishbowl]
If you desperately need to differentiate between the interface and the implementation, have the Interface called Foo, the implementation called FooImpl, and a factory called FooFactory.
I know, I am showing my age here, but IFoo is sick, depraved, and ugly.
7:17:55 PM
|
|
MS Stinger Phone Stings Consumers and Developers. Once again MS attempts to influence developerrs and consumers alike by making enemies. Except this time they go after develoers as well. Microsoft in its infalible wisdom has decided that Stinger Phones or MS Smart Phones will only run MS certified software. Thus, if you want to develop an application that will run on them you have to pay a monopoly tax of $6000 per applicaiton to Microsoft. I wonder why Orange set the phone sup so tha tonly MS certified apps wil run on them? It certainly be run the other way if you include the root certificate. The Register hints at a desire on Orange's part to cripple an MS launch of Samrt Phone. But that would not be the case. I would imagine that there are some contract specifics between MS and Orange that prevent that type of treatment. But still who would buy one of these phones to get PocketPC integration at the sacrifice of actually being able to use the phone functions in the first place? [ShareMe News]
Has Microsoft completely forgotten their core market? If Microsoft want these things to sell, they need functionality. If they want that, they need programmers. D'uh.
7:15:04 PM
|
|
Python's starting to tighten it's grip on me.
I've been playing with Python for the last month or so and I have to say that it's really a great language and fun to program with. I've honestly caught myself huffing when I need to switch over to Java to do some work.
The more I think about it, the more it makes sense: Scripting for the 21st Century.
[dave bryson]
I am really feeling for you there dave. Honest I am. :-)
7:12:10 PM
|
|
Can you create an easy bake oven subclass? [cwinters.com]
I hate to see example code like this with inbuilt error handling anti-patterns. Work out what happens an InteruptedException is thrown in one of the thread.sleep()s. It continues on regardless, after printing out the error condition. Bad code!
I know, I shouldn't be picking on code that was written in jest. Byte me.
11:39:25 AM
|
|
Connecting Objects.
I've just spent the past two hours with Together/J, creating a nice model of a timeline system I've been thinking about. I'm happy with the way it's come together; all the relationships appear to be in the right place and it just screams "pretty" in UML, with nice annotations all over the place about the cardinality and nature of the relationships. TJ has dutifully created all the requisite Collections objects for me, ensuring that I have a place for all the connections.
Which is exactly what's bothering me. Sure, I want to model everything this way, so I can see the relationships on my diagram. But I don't want to use that kind of connection management. In my model, just about everything needs to know how it's connected to everything else. When an object is removed, I want to quickly remove all trace of it from the model. This is a very general problem that most applications come across, and most of the time (unless simplicity is an issue) I like to have a connection manager class that knows how to create, constrain, and remove the relationships between the objects in a model. This makes most aspects of lifecycle management pretty easy. Any object can quickly find out what objects are related to it, how they're related, and they don't have to keep track of (or listen for) lifecycle events. Only the relationship manager does that.
I wish my modeling tool supported this kind of thing. It doesn't. I wish Java had this pattern in it; it doesn't. I am not a big fan of publish/subscribe. [Ross Judson: Java Etc.]
There is a way of diagramming that in UML. It is actually a pattern - if I had access to my pattern books I would look up the pattern name for ya. But, it looks HellaUgly. Which, in some ways, is why UML isn't scalable. Sad, huh?
9:04:29 AM
|
|
Little Nybbles of Development Wisdom. A bunch of people have been pointing to Terence Parr's Little Nybbles of Development Wisdom (most recently seen at Codaland). This is indeed a great list. I wish I'd had someone beating this into my head a year ago.
[Gordon Weakliem's Radio Weblog]
Good list. Note the point "Avoid system components that force GUI or webpage initialization / configuration. Automation is the goal and a GUI configuration tool destroys any hope of configuring a box by unzipping or installing RPMs." basically rules out Win32 as a production platform.
I wonder if the current game to build SOAP servers into all win32 apps will change the automatability of the win32 desktop. Hmmm.
8:55:03 AM
|
|
Writing computer books not recommended....
[Chomped the wonderfully depressing quote from The FuzzyBlog! ...]
I know some people have tried selling e-books themselves via their own websites. But has anyone made a serious attempt to get the likes of Amazon to distribute independent efforts?
If that doesn't work is there a way to make money via a super-efficient publishing system. Same as above, the publisher is soley responsible for taking the finished PDF, printing and distribution on a percentage basis. Would anybody do it?
I'm probably showing my naivety again... [Curiouser and curiouser!]
I honestly must admit I have entertained thoughts of being an author, but by the looks of it, maybe not. Which is a tad scary in it's own right, I grew up in this industry reading everything I could lay my hands on. I have thousands of books. If this is how badly the publishing industry treats authors, we are going to run out of computer books RSN.
Well, the last six months of bookstore browsing has only tempted me to buy about three computer books, so maybe the drought is already upon us. Not happy, Jan.
As to whether people can publish eBooks, as say PDFs, and get make a living out of it. I don't know. I hope it can be done, but I also know I am more likely to part with $90 for a book I can read on the train than $10 for a PDF that I have to print myself. Perverse, but true.
8:45:55 AM
|
|
© Copyright 2003 Brett Morgan.
|
|
|
|
December 2002 |
Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
|
|
|
Nov Jan |
|
Previous
Next
|
|
|
|