Showing posts with label tech. Show all posts
Showing posts with label tech. Show all posts

Friday, 25 June 2010

Hyperref and Cleveref LaTeX Conflict

I ran into a conflict between two LaTeX packages when writing my thesis. Both the hyperref and cleveref are useful packages for automatically dealing with references in a document.

Hyperref is a TeX package for making documents with live links in PDF and HTML output formats. This places automatic links for \ref{} and \cite{} commands into the final PDF document. This allows readers to simply click on a reference to a Table, Figure, Equation or Citation and be taken to its location in the document.

The cleveref package enhances LaTeX's cross-referencing features, allowing the format of references to be determined automatically according to the type of reference. This is almost like type inference found in modern programming languages. When using the \ref{} command in LaTeX, one typically mentions the type of reference in the text and then \ref{} provides the number for the reference. For example, Table \ref{table:x2} shows the values of x^2 for integers 1 through 10. Using cleveref one can omit the leading Table and the package automatically infers it from the reference. For example, \Cref{table:x2} shows the values of x^2 for integers 1 through 10.

I used cleveref throughout my entire thesis and I included the hyperref package at the end to add PDF links. Unfortunately this somehow manages to conflict with cleveref and it no longer works as expected. The following demonstrates what happens. The caption of the Figure is inserted into the reference.

cleveref and hyperref conflicting

I ended up not using the cleveref package for this reason. I am not a LaTeX expert when it comes writing packages, so until I can dedicate some time to learn what is going on I have no working solution.

I used the TeXLive packages from the Ubuntu repository which contains the hyperref package. I downloaded cleveref from the CTAN repository.

Monday, 18 January 2010

A Crash Course on Modern Hardware

Cliff Click from Azul Systems gives a talk on one of my favourite subjects, Computer Architecture. He looks at the difficulty of predicting performance on modern x86 CPUs.

Sunday, 10 January 2010

Turing's Cathedral

Turing's Cathedral is an interesting look at computing at the 60th anniversary of John von Neumann's proposal for the digital computer. It cover aspects of computational models, biology, AI and the growing wealth of knowledge on the internet.

The quotes below show how we have far exceeded the original expectations of computation. Even though we are still programming the von Nuemann architecture / Turing machines, I have always wondered how much the languages we use would change given an entirely different computational model.

"When the machine finally became operational in 1951, it had 5 kilobytes of random-access memory: a 32 x 32 x 40 matrix of binary digits, stored as a flickering pattern of electrical charge, shifting from millisecond to millisecond on the surface of 40 cathode-ray tubes."

"By breaking the distinction between numbers that mean things and numbers that do things, von Neumann unleashed the power of the stored-program computer, and our universe would never be the same."

"In the early 1950s, when mean time between memory failure was measured in minutes, no one imagined that a system depending on every bit being in exactly the right place at exactly the right time could be scaled up by a factor of 10^13 in size, and down by a factor of 10^6 in time. Von Neumann, who died prematurely in 1957, became increasingly interested in understanding how biology has managed (and how technology might manage) to construct reliable organisms out of unreliable parts. He believed the von Neumann architecture would soon be replaced by something else. Even if codes could be completely debugged, million-cell memories could never be counted upon, digitally, to behave consistently from one kilocycle to the next."

"As organisms, we possess two outstanding repositories of information: the information conveyed by our genes, and the information stored in our brains. Both of these are based upon non-von-Neumann architectures, and it is no surprise that Von Neumann became fascinated with these examples as he left his chairmanship of the AEC (where he had succeeded Lewis Strauss) and began to lay out the research agenda that cancer prevented him from following up."

"We can divide the computational universe into three sectors: computable problems; non-computable problems (that can be given a finite, exact description but have no effective procedure to deliver a definite result); and, finally, questions whose answers are, in principle, computable, but that, in practice, we are unable to ask in unambiguous language that computers can understand."

Monday, 26 October 2009

Long Distance

Q: Why did the programmer call his mother long distance?
A: Because that was her name.

Sunday, 21 June 2009

Computing Then

Computing Then is an interesting look into the past of computing. With much focus on the "now" of computing and electronics, this is a nice break. I always enjoy the 16 & 32 years ago column in the IEEE Computer publication. I remember 16 years ago quite vividly but alas I am not 32 yet. The older I get, the less powers of 2 I get to experience. I doubt I will make 2^7.

Tuesday, 26 May 2009

Adaptive Compression of the Dynamic Range

Dynamic range compression is a technique used by audio engineers to optimise the distribution of frequencies in a mix. In popular music it is often abused, resulting in a flat and overly loud sound. An audio engineer applies some static parameters of threshold, knee, compression ratio, attack, delay and gain based on the typical listening environment of their anticipated user. This is why you can hear your favourite top 40 track in a noisy environment but you can barely hear classical music at the same volume level on your audio device. Therefore, I propose that these parameters should adapt to the environment of the user. If it is noisy, the compression ratio is pushed up and if it is quiet it can be relaxed. By intuition, I assume that this would be a relatively easy solution to solve with machine learning. My simple explanation with one of the parameters is trivial. I am sure more complex relationships exist between the parameters and user satisfaction. If someone could embed this in a popular music player with the correct audio source, it could be a winning combination. However, this requires an unmastered, or a minimally mastered audio source.

Friday, 23 January 2009

500 days

# uptime
06:01:30 up 509 days,  6:12,  1 user,  load average: 0.00, 0.00, 0.00

Now that I have passed the 500 day mark I can bring myself to install a new distro. Time to say good bye to Slackware after 14 years and replace it with noobuntu server. Package management just seems easier. This is my last box with Slackware still on it.

Tuesday, 28 October 2008

K-tree, NMF and INEX 2008

Today I gave a presentation within my research group at QUT. It discusses the submissions I made for the XML Mining track at INEX 2008. This required classifying documents based on previously known examples (classification). Another task required grouping similar documents together with no prior information other than the documents themselves (clustering). I also looked at different ways to measure cluster quality using negentropy and document link graphs. The K-tree algorithm is part of my research. This is the first time it was applied to document clustering. The results for the entire track should be out soon. I will also be giving the presentation at the QLD IEEE Computational Intelligence Symposium.

Friday, 6 June 2008

Just a little TV

Here is my brand spanking new 50" plasma TV. It is the Samsung PS50P91FDX. I have been happy with it so far. The video quality is awesome and it replaces my AV receiver as the audio and video switching device. It does HDMI, component, composite and vga where as the receiver only switched component. According to some website (I can't remember the URL) it is best to burn in your plasma at 50% contrast for the first 50 -100 hours. This is because the phosphorous is most prone to damage in the earlier hours of its use. I don't know if this is actually true or just yet another urban myth. I am giving it a go anyway.

317320323326329

Wednesday, 23 April 2008

My Shared News

I am sharing my favorite news stories via Google Reader. This is one of the many nice features of the product. Hope you find them interesting.

Wednesday, 5 March 2008

WinSplit Revolution

If you use Windows and a large monitor WinSplit Revolution is a handy tool. It easily allows tiling of windows using the ctrl + alt + number cobination. It uses the fact the number pad is of somewhat similar shape to a screen. You can find more at the  programs website. This reminds me of using nvidia grid lines but it is far more user friendly. It is not as powerful as some tile based X11 window managers such as wmii and xmonad. Then again it is not a window manager.

Wednesday, 3 October 2007

E6600 overclocking with Tuniq Tower 120

235223232
Here are some pictures of a recent hardware addition to my PC. It is a massive heat pipe based Tuniq Tower 120 with a 12 cm fan hiding inside the heatsink. Due to a combination of its size and the mounting bracket the install was not the easiest I have ever done. It was well worth the minor hassle.

The Intel E6600 sitting below the behemoth has a default clock of 2.4 GHz. It now reaches 3.5 GHz. If I have some time to kill I will try and tweak it some more to get some extra Hz. For everyday usage it runs at 3 GHz with all my fans set to the slowest possible fan setting. This keeps my office from sounding like a wind tunnel.

Tuesday, 2 October 2007

Australian International Airshow 2007

13242147
I have uploaded photos from my trip to the Australian International Airshow 2007 in Melbourne. There was definitely plenty of cool tech and drooling aviation enthusiasts at this event.

Monday, 1 October 2007

Why do microwaves have so many features?

I was using the microwave today and I looked at all the buttons I do not use. There were plenty. It seems like such a waste. I only need a power setting (high medium low), time setting and maybe a defrost mode. I suspect that other people barely use all the features of their microwaves. There is always the chance that everyone uses a different 5% of the features. Either way I'd like to see more products with less feature bloat. I am fed up of superfluous features for the sake of "value adding" or making it more "marketable".