Nov 04 2006

LiveJournal is down back

Posted by paul

Tags:

LiveJournal Status Report

Our data center is currently performing maintenance on one of our two power feeds this evening. LiveJournal is currently unavailable at this time. We are working on restoring access as quickly as possible.

I don’t know how long LiveJournal has been down but right now (8:45am) it’s down and there’s no estimate of when it’ll be back.

I’m off to be all emo somewhere else then :)

Update: D’oh – it says that entry was posted @ 10:07 am GMT (6:07 EST) so that’s about 2½ hours ago.

Update #2: Looks like it’s back (10:30am)

Update #3: I spoke too soon – it’s down again :(

Filed under : Uncategorized | No Comments »
Sep 27 2005

Software Porting Is Evil?

Posted by paul

Tom Yager wrote a piece in the September 19th issue of InfoWorld that was titled “Software Porting Is Evil” – just the heading was enough to wind me up! [The article isn't on the InfoWorld site yet, as far as I can see.]

I was responsible for a porting team back in 1992-94; the objective was to have Hewlett-Packard‘s X.400 email server “OpenMail” running on 20+ UNIX platforms concurrently. Yes, it was like spinning plates at times – take your eye off one plate/platform for a minute and it could come crashing down – but after a short while we had a pretty stable basis that meant the addition of a new platform was achievable quite quickly.

So when someone says that something I spent two years doing (and it would have been more if the company hadn’t been bought out and almost everyone laid off) is “evil”, obviously it causes me to sit up. Fortunately I read more than just the first few lines of his article, because some of the points he made I actually agree with:

  • commercial software vendors are “lazy about re-targeting their code”
  • “there are far too many fat client applications”
  • “developers … become addicted to methods that exist only with the OS and tools they used to write their code”

Taking these points in order: it’s obvious that many vendors are lazy about porting their code – unless you’re running the latest version of Windows, there’s a good chance you’ve said “if only it ran on [your platform]“. Equally, if you’re on an old version of Windows there are lots of applications that only run on the “latest and greatest”. There are many neat Mac-only applications too that I, as a primarily Linux user, would like to see ported.

Of course this is a catch-22 situation: vendors will only port their products if there is enough demand, which means only the popular platforms stand any chance, but how can a platform become popular if there isn’t the breadth and depth of applications available to attract users? I can see how Open Source developers will migrate their code because of interest, the technical challenge, the chance to play with something new, etc. but Yager’s point was about commercial vendors; unless there’s a good business case to do so, they will not (and should not) spend time & money porting their applications.

Often the only solution is for a customer to pay the vendor to port their application to their favourite platform; the customer should make sure they get some sort of profit-sharing element written into the contract though, so they can share in the benefits reaped from producing something other people want.

To a user there is little noticeable difference between a fat client and a thin client – in fact I suspect most don’t even know what those terms mean, nor do they care, so the requirement for greater emphasis on thin client design must come from the technical community. Unfortunately many developers follow Microsoft’s lead, and that is not going to take us down the right path; as hardware continues to advance, many developers fail to see the need for their applications to perform well – if it’s a bit slow, just throw more memory at it.

Universities and schools also have to shoulder some of the blame – if you teach our future-programmers that it’s OK to hack everything out in Visual BASIC then that’s how they will see all software development. Even though there was no technical need for it, one of the courses I took at university insisted that we write our programs on coding sheets, submit them, pick up the punch cards, submit the job, and then wait a day or two to collect the output. The painfully slow turnaround made everyone think about how they designed their code, how they handle non-critical errors, and how to extract the most information for debugging. I’m sure that everyone came away from that course a better developer because we had to think, to plan, to design and to code carefully. Nowadays it’s simply a matter of sitting in front of a screen, banging away at the keyboard until it appears to work.

If the tools that they are provided with focus on the GUI, then that’s where people will concentrate their efforts – does it matter if the back end is inefficient if it looks pretty? Instead of making it work better, just throw up a progress bar.

How many applications on your Windows PC are truly client-server? Very few, I bet. Even those few probably began life as a fat client and evolved. The same is true for the PC – it was a personal computer long before it was networked with its peers and eventually to servers, so it’s no surprise many applications still run in that manner. UNIX started life as the server end with users connected via dumb terminals – everything was focused on the back end with rudimentary user interfaces. There needs to be a hybrid – fast, efficient, robust server software with a user-friendly GUI; it can (and has) been done successfully.

Unless software designers and developers adopt the client-server approach, we are doomed to forever update our PCs while the servers gather dust.

The third point was that developers become addicted to OS-specific tools; unless they are made to think of the bigger picture, developers naturally think about solving the problem they’re given, ideally with the minimum of effort, and then they move on – little (if any) thought is given to maintenance, let alone portability.

Of course it’s not fair to blame just the developers for this problem – almost everyone involved in the development project shares the responsibility. The managers and designers should be thinking beyond just churning out a solution; they should be considering the long-term future of the product: How can it provide future revenue? (Enhancements; wider platform support…) How can we minimise ongoing support costs? (Make it simpler to fix!) How can we re-use elements of this project elsewhere? The answer to many of the questions that should be asked relies on modular, well-designed, portable, well-documented code. Just because you can’t see another use for a particular module now, if you design & develop it correctly then, when you do discover a need in a few years, it will be there, ready to use, even if the programmers are long gone.

By having the entire development team think about the future, the coders will have to use tools that don’t tie the product to a particular operating system or to other products. They will have to code to open standards (e.g. the X/Open Common Applications Environment Portability Guide), to corporate standards (e.g. naming conventions), and against well-documented Application Programming Interfaces. The product’s internal APIs will provide a level of plug-and-play if a module needs to be added or modified, and of course will make testing more efficient.

Initially the accountants will see that developing in this way is more expensive than the current method, but they should also see the savings in the maintenance phase and future projects which benefit from these good practices.

Yager ends his piece by saying “If a vendor makes application porting and validation painful, it won’t lock developers in. It’ll get the vendor locked out.” I think he’s right on the mark … assuming customers see the benefits. Unfortunately, while Microsoft continue with their monopolistic and anti-competitive practices, and other companies see how successful MS are, there will be the temptation to continue the “lock them in” mentality.

Of course, if we all toe the Microsoft-only line that so many companies have, then we’re just feeding the monster – why do we need to port applications if there’s only one platform?

Filed under : Uncategorized | 1 Comment »
Sep 25 2005

Brazilian Grand Prix – Race

Posted by paul

Tags: ,

[Qualifying notes]

Grid: FA + JM, GF + JB, KR + CK, MS + FM, RB + RS, JV + TM, MW + AP, DC + NK, CA + JT*, RD + TS.
Trulli was given a 10-spot penalty for an engine change; Sato was penalised 10-spots for running into MS at the previous race, and Doornbos aborted his qualifying lap after a spin.

If Alonso finishes on the podium, he’s World Champion, at the youngest champion to boot, with two races (Japan + China) still to go.
Raikkonen’s chances of taking the title are very, very slim now, but Renault boss Flavio Briatore has said there’s to be no planning for a party, so as not to tempt fate.

TSN showed golf yesterday instead of qualifying; today they’re showing NASCAR instead of the race. What?! So we’re stuck with SpeedTV again, so we may have to turn the sound off just to prevent us shouting at the commentators!

The track is looking a little damp.
Apparently overnight KR changed the front-right tyre that he locked up in qualifying – won’t that mean a penalty? No, the FIA have given him the OK to do it.

JV is starting from the pit lane instead of P11 – apparently the team changed a part that they’re allowed to change but didn’t get approval from officials before they did it.

Track temperature 23°C; air temp 24°C; wind 1m/s; humidity 64%; pressure 925.7mBar.

FA leads them away on the formation lap.
TM enters the pit lane instead of taking his place on the grid.

01/71: FA stays ahead of JM into Turn 1.
KR passes GF and then MS almost side-swipes GF.
AP is out of his Williams, and the Safety Car is out.
Replay: looks like DC tried to squeeze through and clipped AP.

02: SC deployed.
MW pits … and the team put out a fire! That’s both Williams out.
SC lights out – in at the end of this lap.
JM is very close to FA as they approach the line.

03: JM pushing hard and passes FA for P1.
GF passes MS too.

04: JM, FA, KR, GF, MS, JB, CK, RB. Retirements: DC, AP, MW.
TS already up to P11 having started right at the back of the grid.

05: JM fastest lap 1:13.959

06: JM f/lap 1:13.867

07: FA f/lap 1:13.746

08: JM f/lap 1:13.160
Is JM light fueled? Most drivers are expected to 2-stop (~laps 24+48) but there may be some 1-stoppers (~lap 35)

09: JM f/lap 1:13.002

10/71: Track temperature has dropped a degree to 22°C

11: TS is just 0.3s behind FM who’s in P10

13: Interesting fact from the offiicial F1 feed: if Monteiro finishes this race he’ll equal Michael Schumacher’s record for the number of successive finishes!

14: JT passes NK for P12

16: MS posts a personal fastest lap 1:13.505

17: FA has put in successive fastest Sector 1 times but hasn’t yet posted a … hang on…

18: FA f/lap 1:12.827
FM pits from P10 – a very early 2-stop or is he 3-stopping?

19: NK pits from P13 – a long stop – rejoins in P17/last

20/71: JM, FA, KR, GF, MS, JB, CK, RB

21: CA pits from P12

22: JM f/lap 1:12.824
FA f/lap 1:12.653
JV finally passes RD for P12

23: FA pits from P2 – that’s earlier than expected – 8.1s stop – rejoins in P6 ahead of CK

24: GF pits from P3 – 8.5s
RB pits from P8 – 8.6s – smoke from the left side-pod

25: CK pits from P6 – 10.1s

26: MS personal f/lap 1:12.800
JV personal f/lap 1:14.054

27: MS pits from P3 – 8.8s – rejoins alongside GF … and MS takes the spot
JB pits from P5
RS pits from P7

28: JM f/lap 1:12.650
McLaren pit team getting ready

29: JM pits from P1 – 8.2s – easily takes P2 well ahead of FA
KR personal f/lap 1:12.674 and inherits P1

30: KR f/lap 1:12.268
KR yet to pit; he’s got a 32.8s lead over FA

31: Looks like MW has rejoined, about 25 laps down.
JM locks up and could have flat-spotted his front right

32: KR pits from P1 with a 34.5s lead – 10.0s stop – rejoins behind teammate JM
Still to pit: TS (P6), JT (P8), JV (P12)

33: JT pits; rejoins in P12

35/71: FA is 9.8s behind KR, who is 2.0s behind JM. MS is 14.8s behind FA in P4.
JV pits from P11

36: RD brings a sick-looking Minardi into the pits, spewing smoke. Enters his box and is told to kill the engine.
MW will pass RD in ~24 laps time!

39: TS is the last man to pit, in from P6; rejoins in P10 ahead of JT.

40/71: JM, KR, FA, MS, GF, JB, RB, CK. Retirements: DC, AP, (MW) RD.
RB is just 0.2s behind JB

41: So when will JM let KR take P1? Surely JM should be backing FA back into MS?

44: RB locks up in Turn 1 as decides not to try to pass future BAR teammate JB

45: RB elbows his way past JB in T1 this time

47: NK in for pit stop #3!
RB posts persnonal f/lap 1:14.535

48: RB personal f/lap 1:13.373

49: FA pits from P3 – 7.6s – rejoins behind teammate GF (P4)

50/71: GF pits from P4 – 6.8s – rejoins ahead of RB

51: Ferrari team ready for RB – locks up his right front as he enters the box – 6.8s

53: JM, KR, MS, FA, GF, JB, CK, RS
JM has lapped everyone up to + including RS in P8

54: JM pits from P1 – rejoins in P2

55: MS pits from P3 – rejoins in P4, between FA and GF

56: JV pits, even after a late 1st stop (lap 35)

58: KR posts 1:12.601
CK looks to be struggling

59: TM is coasting – will he finish and equal MS’s record? Looks like the engine’s blown

60/71: KR pits from P1, just 18.5s ahead of JM and 44.0s ahead of FA – 5.8s stop – rejoins just behind JM

61: MW is just 1 lap away from passing RD, who retired way back on lap 36
MS is ~17s behind FA in P4, so it looks likely he’ll win the Drivers’ Championship … unless that counts as “doing a Murray Walker”!
With a McLaren 1+2, they’ll take a 2 point lead over Renault in the Constructors’ Championship though.

62: Now that MW has passed RD, he might as well park the car – he’s 17 laps behind TM and there’s only 9 laps left.

67/71: JM, KR, FA, MS, GF, RB, JB, RS; JM has lapped JB in P7
MS has dropped back to 17.5s behind FA

69: The front-runners’ tyres are all looking pretty tired – will any of them be found to be illegal?

70/71: JM, KR, FA, MS, GF, RB, JB, RS

71/71: McLaren 1+2 (JM, KR)
FA finishes 3rd and therefore (unless anything happens in scruteneering) he’s World Champion.
MS, GF, RB, JB + RS take the rest of the points-paying positions.

Provisional Results:

  1. J.Montoya (McLaren)
  2. K.Raikkonen (McLaren)
  3. F.Alonso (Renault)
  4. M.Schumacher (Ferrari)
  5. G.Fisichella (Renault)
  6. R.Barrichello (Ferrari)
  7. J.Button (BAR)
  8. R.Schumacher (Toyota)

9=CK; 10=TS; 11=FM; 12=JV; 13=JT; 14=CA; 15=NK
Unclassified: TM, MW, RD, AP, DC.

Alonso looks pretty ecstatic as he gets out of the car and jumps into the arms of his teammates.

Raikkonen looks a bit dejected on the podium, but it was a real outside chance that he’d beat FA.

Alonso’s wearing silver boots! Mmmkay.
T-shirt of one of the Renault team: “World Champion! Schumacher who?” :)
Youngest F1 race winner and now youngest World Champion.

Interviews:
JM: “Finally we got a 1,2 that we’ve deserved since the beginning of the year”
KR: looks like he’s had a quick cry! “A good finish for the team”
FA: When asked who he’d thank for helping him become World Champion: “thanks to three or four people, no more than that”!!

Points:

F.Alonso 117 == World Champion
K.Raikkonen 94
M.Schumacher 60
J.Montoya 60
G.Fisichella 45
J.Trulli 43
R.Schumacher 38
R.Barrichello 38
J.Button 32
M.Webber 29
N.Heidfeld 28
D.Coulthard 21
J.Villeneuve 9
F.Massa 8
T.Monteiro 7
A.Wurz 6
N.Karthikeyan 5
C.Klien 5
P.de la Rosa 4
C.Albers 4
P.Friesacher 3
A.Pizzonia 2
V.Liuzzi 1
T.Sato 1
A.Donaldson 0
R.Doornbos 0
McLaren Mercedes 164
Renault 162
Ferrari 98
Toyota 81
BMW Williams 59
BAR 33
Red Bull 27
Sauber 17
Jordan 12
Minardi 7

Note: 7th & 8th places not awarded at US GP

Next race: Japan, the penultimate race of the season, in two weeks. [F1 calendar, 2005]

Filed under : Uncategorized | Comments Off
Sep 24 2005

Brazilian Grand Prix – Qualifying

Posted by paul

Tags: ,

Ugh. TSN’s showing golf (YOU SUCK!) so we’re stuck with the clueless commentators of SpeedTV. :(

Raikkonen put in a better time than Alonso in practice earlier today, but who knows what fuel they’re running.

Track temperature 38°C; air temp 28°C; wind 0.8m/s; humidity 48%; pressure 926.6mBar.

Batch 1: GF, TS, MS, DC, JT
G.Fisichella (Renault) – Sector 1=18.4; S2=37.1; S3=17.0; 1:12.558 = provisional Position 1 (of course)
T.Sato (BAR) has a 10-grid-spot penalty after running into MS at Spa, so he’s opted not to put in a qualifying time. Has he also changed engine?
M.Schumacher (Ferrari) – S1=18.3; S2=37.3; 1:12.976 = pP2
D.Coulthard (Red Bull) – S1=18.6; S2=37.7; 1:13.844 = pP3
J.Trulli (Toyota) – S1=18.5; S2=37.1; 1:13.041 = pP3 … except he’s got a 10-spot penalty coming for an engine change earlier

Batch 2: AP, JM, RD, CA, NK
A.Pizzonia (Williams) – S1=18.5; S2=37.8; 1:13.581 = pP4
J.Montoya (McLaren) – S1=18.3; S2=36.7; 1:12.145 = pP1
R.Doornbos (Minardi) – S1=19.1; S2=40.7; spins it and aborts his lap.
C.Albers (Minardi) – S1=18.9; S2=38.3 – very twitchy though; 1:14.763 = pP7
N.Karthikeyan (Jordan) – S1=18.9; S2=38.0; 1:42.520 = pP7

Batch 3: FM, CK, TM, RS, JV
F.Massa (Sauber) – S1=18.5; S2=37.2; 1:13.151 = pP5
C.Klien (Red Bull) – S1=18.4; S2=37.1; 1:12.889 = pP3
T.Montiero (Jordan) – S1=18.8; S2=37.2; 1:13.387 = pP7
R.Schumacher (Toyota) – S1=18.6; S2=37.3; 1:13.285 = pP7
J.Villeneuve (Sauber) – S1=18.6; S2=37.3; 1:13.372 = pP8 … 2 places behind his teammate

Batch 4: RB, MW, JB, FA, KR
R.Barrichello (Ferrari) – 10km/h slower than MS through the speed trap! S1=18.4; S2=37.4; 1:13.183 = pP7 – that’s not good for the home-town boy
M.Webber (Williams) – S1=18.7; S2=37.4; 1:13.538 = pP11! Wow, that’s bad.
J.Button (BAR) – S1=18.4; S2=36.9; 1:12.696 = pP3
F.Alonso (Renault) – S1=18.2; S2=36.7; 1:11.988 = pP1
K.Raikkonen (McLaren) – locks up badly into Turn 1! S1=18.9; S2=36.7; 1:12.781 = P5

Provisional Qualifying Classification:

  1. F.Alonso (Renault) 1:11.988
  2. J.Montoya (Williams) 1:12.145
  3. G.Fisichella (Renault) 1:12.558
  4. J.Button (BAR) 1:12.696
  5. K.Raikkonen (McLaren) 1:12.781
  6. C.Klien (Red Bull) 1:12.889
  7. M.Schumacher (Ferrari) 1:12.976
  8. J.Trulli (Toyota) 1:13.041 ** 10-spot penalty coming for an engine change
  9. F.Massa (Sauber) 1:13.151
  10. R.Barrichello (Ferrari) 1:13.183
  11. R.Schumacher (Toyota) 1:13.285
  12. J.Villeneuve (Sauber) 1:13.372
  13. T.Montiero (Jordan) 1:13.387
  14. M.Webber (Williams) 1:13.538
  15. A.Pizzonia (Williams) 1:13.581
  16. D.Coulthard (Red Bull) 1:13.844
  17. N.Karthikeyan (Jordan) 1:42.520
  18. C.Albers (Minardi) 1:14.763
  19. R.Doornbos (Minardi) – no time.
  20. T.Sato (BAR) – no time + 10-spot penalty

Post-qualifying interviews:
FA: “tomorrow everything will be OK” (talking about the new aero package)
JM: “Kimi’s going to have a tough race tomorrow”; 8-year old girl who designed his helmet (which is auctioned after the race) is at the race.

[Weekend schedule] [F1 calendar, 2005]

Filed under : Uncategorized | Comments Off
Sep 23 2005

Brazilian Grand Prix – Practice

Posted by paul

Tags: ,

Brazil’s not my favourite circuit by any means – it’s too short, the infield’s too tight (=very slow) and there’s almost no chance of overtaking. As well as being really bumpy, the drainage is faily poor … and the forecast for the weekend is wet! (Spring has just begun in Brazil.)

Alex Wurz was fastest in this morning’s session (1:11.701), followed by Sato, Alonso, Button and Raikkonen.

New engines this weekend for quite a few cars: FA, KR, AP, MW, RB, CK, JT, DC, TM, FM.

Track temperature 38°C; air temp 24°C; wind 1.6m/s; humidity 62%; pressure 926.9mBar.

Liuzzi sets fastest lap (1:15.385), which is quickly beaten by Wurz.
M.Schumachers takes fastest lap (1:14.643) but then spins in the wiggly infield.
Raikkonen puts in 1:13.950
Montoya sets 1:13.896 … still a couple of seconds off this morning’s best time
Alonso sets fastest sector 1 and S2 … but then backs off as he’s catching up on another car.
M.Schumacher puts in 1:13.205 and looked to have the Ferrari on the ragged edge.
At the other end of the timing table, Doornbos is over 4.5 seconds slower (1:17.901)
30 minutes gone.
Massa puts up 1:12.710 to beat MS by almost half a second (0.495s)
Montoya clocks in at 1:12.694 – within a second of Wurz’s top time from this morning.
The onboard camera shots show just how bumpy the track is, even the newly resurfaced section. Ugh.
Button posts a personal best (for this session) of 1:14.189 but he’s still down in P14
Yellow flags are out after Klien spun off backwards into the wall.
15 mins left.
It’s taken the Brazilian marshals almost five minutes to move CK’s wrecked Red Bull car. :(
Notably at the tail of the scoreboard: P21=R.Schumacher (1:14.832) & P22=Coulthard (1:15.171), with only Karthikeyan & Kiesa slower.
Zonta sticks in a good time (1:12.802) to drag himself from P20 to P3 … and next lap he’s P2 with 1:12.706, just 0.012s off JPM.
Webber spins and teammate Pizzonia has to almost stop to avoid him as MW spins back onto the track
SpeedTV’s commentators prove (yet again) that they’re clueless; we may have to watch the race with the sound turned off.
5 mins left.
Zonta squeezes past Fisichella into Turn 1 – that was a little close for comfort for a practice session!
Almost everyone is on track now, so don’t expect to see anyone beat Montoya’s top lap time.
OK, ignore what I just said – Wurz posts 1:12.083, fastest by 0.611s
Albers is off track but I didn’t see how that happened; looked like a lock up but CA picked up a piece of bodywork.

Top times:

  1. A.Wurz (McLaren) 1:12.083
  2. J.Montoya (McLaren) 1:12.694
  3. R.Zonta
  4. F.Massa
  5. R.Barrichello

The South American drivers are doing well on home soil.

p.s. TSN sucks – there’s Formula One live but you choose to show golf. Duh!

[Weekend schedule] [F1 calendar, 2005]

Filed under : Uncategorized | Comments Off
  • Paul's Popular Photos

    TOPW:CV-07RainbowA Hog in HogtownShadowSunset on shiny streetcarBranchciclesTake a seatCosta del Toronto, circa 1968Water water everywhereStretchNPS05Not much to see from the Observation Deck
  • Recent Posts

    July 2010
    S M T W T F S
    « Jun    
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
  • Archives

  • Categories

  • Meta

  • Badges



Rodney's 404 Handler Plugin plugged in.