Archive

Archive for December, 2007

YouTube – White Stripes Coke Commercial

A very cool video (a Coca-Cola commercial) from the "White Stripes" band (also see many other cool videos of them at YouTube)

Categories: Posts

PPTmerge – merge multiple PowerPoint Presentations into a single .PPT file

1) In a folder you wish (say onto the desktop one) create a subfolder named "PPTmerge".

2) At that same folder (say the desktop one) create a file named PPTmerge.vbs (or whatever filename you wish with a .vbs [=VBScript] file extension) and add the following content in it:

‘PPTmerge – merges several PowerPoint presentations (.PPT files) together
‘Author: George Birbilis (birbilis@kagi.com) / Zoomicon (www.zoomicon.com)
‘Version: 12Dec2007

Const PPTMERGE_FILE = "Merged.ppt"
Const PPTMERGE_FOLDER = ".\PPTmerge"

Dim Application
Set Application=CreateObject("PowerPoint.Application")
Application.Visible = True ‘must do this for merge to work

Dim first
first = True

Set fs=CreateObject("Scripting.FileSystemObject")
Dim folder
Set folder = fs.GetFolder(PPTMERGE_FOLDER)

Dim out

Dim ff
For Each ff in folder.Files
MsgBox ff.Name
f = PPTMERGE_FOLDER + "\" + ff.Name
If first Then
  Dim p
  Set out = Application.Presentations.Open(f)
  out.SaveAs PPTMERGE_FOLDER + "\..\" + PPTMERGE_FILE
  first = False
Else
  out.Slides.InsertFromFile f, out.Slides.Count
End If
Next
If Not first Then
out.Save
out.SlideShowSettings.Run
‘out.Close
End If
Set folder = Nothing

Set out = Nothing

Set folder = Nothing

‘Application.Quit
Set Application = Nothing

3) Then place the .PPT files you want to merge into the "PPTmerge" subfolder and double-click PPTmerge.vbs at the parent folder to launch PowerPoint, have the files merged and the presentation launched for review (the presentation file is named "Merged.ppt" and placed at the parent folder of the "PPTmerge" subfolder [e.g. on the desktop]). To enforce a certain merge order, name the files using an alphanumeric (sortable) prefix, for example "1 – Intro.ppt", "2 – Management.ppt", "3 – R&D.ppt" etc.

To remove the messagebox shown at each merge step comment out the command "MsgBox ff.Name" above, by prepending a ‘ [apostrophe] before MsgBox which will comment out that script line.

If you wish PowerPoint to close right after merging (instead of previewing the merged presentation), remove the ‘ (apostrophe), that is the whole-script-line comment char from the commands "out.Close" and "Application.Quit" and prepend the command "out.SlideShowSettings.Run" with that char (‘). Unfortunately you cannot avoid having PowerPoint application window display while merging, the command "Application.Visible = True" seems to be needed. However you could tell the powerpoint application to start minimized (use VBA editor [show the respective toolbar at PowerPoint to find it] and press F2 to see the Object Browser, then search for minimized – if you can’t find how to do it just drop me an e-mail)

For the above to work you need PowerPoint installed (tried with Office97, Office2000, OfficeXP and Office2007) and Windows Script Host (pre-installed by default at WinXP and Windows Vista, can get it from http://msdn2.microsoft.com/en-us/library/ms950396.aspx)

You can also find the above script file for download at my tranXform website

Note that if at Vista you may need to edit ".\PPTmerge" and use a full path instead (to get the path of a folder you visit it with Windows Explorer and click at the empty area near the right end of the address bar at the top of Windows Explorer Window so that the address bar shows a path like "c:\users\john\desktop\PPTmerge" that you can select and copy-paste where you wish)

Categories: Posts

“onload” event for an image in Internet Explorer

I recently had lots of issues with an online portfolio website I’m making for my wife (see the online portfolio link at http://www.zoomicon.com/mavrommati/portfolio).

I have made a dynamic image resizing script, but IE was showing the image with wrong dimensions. The trick to fix the issue was to remove the image and its container right after the image had been loaded and place it again. Found some discussion on the web about this issue with IE by a guy that was making a thumbnail gallery. Mozilla has its own issues, not calling onresize event for the container, thus  not resizing the image when the window is changed size. Safari has even more issues, I wonder what Opera does with it…

Categories: Posts

Continuous Integration

a good reading from http://confluence.public.thoughtworks.org/display/CCNET/What+is+Continuous+Integration

The practice of continuous integration represents a fundamental shift in the process of building software. It takes integration, commonly an infrequent and painful exercise, and makes it a simple, core part of a developer’s daily activities. Integrating continuously makes integration a part of the natural rhythm of coding, an integral part of the test-code-refactor cycle. Continuous integration is about progressing steadily forward by taking small steps.

Read more over there, and follow-on the link to this article too:

http://www.martinfowler.com/articles/continuousIntegration.html

The Thoughtworks guys are behind CruiseControl.NET, a reference to which I found at Codeplex, Microsoft’s repository for opensource projects (similar to SourceForge, Google Code etc.):

CruiseControl.NET (CCNet) consists of a suite of applications, but at its core is the CruiseControl.NET Server which is an automated integration server.

The Server automates the integration process by monitoring the team’s source control repository directly. Every time a developer commits a new set of modifications, the server will automatically launch an integration build to validate the changes. When the build is complete, the server notifies the developer whether the changes that they committed integrated successfully or not.

http://confluence.public.thoughtworks.org/display/CCNET/Documentation

Categories: Posts

Discipline in Thought (subtitled Dutch documentary on Djikstra)

Categories: Uncategorized Tags:
Follow

Get every new post delivered to your Inbox.

Join 920 other followers

%d bloggers like this: