Stuff Michael Meeks did to 2007-10 |
git clone http://www.gnome.org/~michael/git/iogrind.git ./autogen.sh && make install ./ext2dump /dev/sda1 /path/to/wherever > wherever.xml fsview wherever.xml # beware of the monster bugs...
before | |
after |
/var/cache/zypp/zypp.db
's 75Mb
still appears substantially fragmented, hmm.
git-fetch http://..../
followed by
git-diff HEAD FETCH_HEAD
does what I want, allowing a
subsequent local git-merge
, nice.
git-diff HEAD^ HEAD
works well.
putenv("BaseInstallation=/usr/lib/ooo-2.0")
type thing is necessary. (of course, re-using the existing install
& setup is the only hope: it's way too complicated
otherwise).
fileaccess/source/FileAccess.cxx
(libfileacc.so - a classic, < 1000 line shared library implementing
XSimpleFileAccess) buries an internal exception - "No content broker":
neat. Implemented 'InitUCB' - another 10 lines of twisted wreckage.
Wouldn't it be nice to have an cppuhelper::bootstrapFrom("/usr/lib/ooo-2.0")
methods that 'just worked', and allowed an app to run from anywhere
inside that context.
putenv("CFG_INIFILE=file:///system/config/path")
is necessary before you can think about loading images. Still no
images, but the churning debug suggests they're closer to loading.
~/.beagle
chew a huge whack
of bandwith, bother, excluded that for next time.
git-checkout origin
that fantastically breaks your repo, in an odd way such that when
you commit you (seemingly) loose data. Rumour has it the checkout
command has been made safe in newer versions to mention this.
if (b) { } else if (!b) { } else { }
etc. Sounds fun doesn't it;
of course, the fun stops when you're used to being able to read code & see
what it does: the innocuous:
if (ptr != NULL && ptr->getTribool())
yields a fairly inexplicable
SEGV when ptr is NULL; why ? simple: this gem gets interpreted as:
if ( logic::tribool::operator&& ( ptr != NULL, ptr->getTribool() ) )
which (of course) looses you the sequence-point protection you were expecting. Of course,
the academic question of: how to fix this in a robust way is still open.
y2tool tagversion
and make package
in yast2 modules; interesting. Pushed new package.
new PushButton(parent, 0);
calls to work nicely.
Nevertheless, a study from Rutgers University entitled "The State of Our Unions: The Social Health of Marriage in America", concludes that the institution of marriage is continuing to weaken, with a smaller portion of the population getting married than at any other time in our nation's history. In fact, since 1970 the rate of marriage has declined by one third. Perhaps even more worrisome is the discovery that fewer married couples than in any previous study report being 'very happy' in their marriage. What makes this level of unhappiness surprising is that since 1969, when no-fault divorce was instituted, the rate of divorce has tripled. The population of married persons has been reduced by a vast number of unhappy marriages, and yet those who are still married are less happy than ever.Struck again by Christ sacrifice for those who reject him; unrequited love indeed.
chmod +x repo.git/hooks/post-update
seems to do the trick.
e2image
to get a deterministic file-system dump; poked at
DiskSim which looks ideal
for real latency / cache modelling, was amused by the SimOS FAQ
"I don't understand anything!" etc.
button.Clicked += delegate { Scale( 1.0, 1.0/VM_ZOOM_MULTIPLIER); };
and get what you would expect, 'Scale' being an instance method of the
object.
svn diff -r '{yesterday}'
or
{2 days ago}
type feature (as cvs does) - bit of
a usability eyesore that. Did a couple of fixes and build new
packages of the latest yast2-gtk with Ricardo's fixes.
ld/eelf_i386.c
is
generated via the Makefile from ld/emultempl/elf32.em
which incorporates eg. ld/ldscripts/elf_i386.x
created by ld/scripttempl/elf.sc
- obviously.
For our specific purposes we have computers that cannot have their equipment changed out (they're launched satellites). As the hardware has aged, some memory banks have developed address ranges that are bad. However, we run in a memory constrained environment, so we can't just ignore massive chunks of memory.Apparently, there are worse troubles in space.
open/read/write/stat
etc.
So - of course the simulations don't have to be particularly advanced, or faithful to the O/S to give interesting results I think: much in the way that callgrind's 'cycle estimation' is a helpful guesstimate. That's important, as while the valgrind piece is hard to write, creating super-accurate simulators of kernel behavior is rather harder.
It is my contention though, that cold-start (and hence login time, boot time etc.) remain such untractible problems due to a lack of profiling tools for unexpected I/O behavior: particularly excessive seeking, and/or just reading too much data. Without tools to measure this - and particularly to be able to repeatably (and ~instantly) profile different data sets, with different (kernel) algorithms would make a huge difference.
Though it is indeed a KDE program, KCachegrind rocks my world, integrating with that beasty, and allowing the profiling to be tweaked eg. having a drop-down selection of: "aggregate I/O latency", "explicit I/O latency", "page dirties", "I/O bandwidth" etc. would be wonderful, also some model parameters to tweak: a "system memory" spin-button, a coarse disk characteristic: "Laptop" vs. "Desktop", a filesytem button: "ext3" vs. "ReiserFS" etc. etc.
_ZN83_GLOBAL__N__opt_OpenOffice_OOE680_m6_sw_source_ui_uno_unoatxt.cxx_00000000_E6D2AB5A12rtl_InstanceIN4cppu10class_dataENS1_14ImplClassData3IN3com3sun4star4text18XAutoTextContainerENS6_4lang12XServiceInfoENS6_9container12XIndexAccessENS1_15WeakImplHelper3IS8_SA_SC_EEEEN3osl5GuardINSG_5MutexEEENSG_14GetGlobalMutexEiiE6createESF_SK_
(eat that c++filt). Also discovered that an in-directory
configure creates it's own separate build-dir: host-...
critical for fast incremental builds; nice.
"foo"
to:
struct rtl_uString { (1<<31)+1, strlen("foo"), { 'f', 'o', 'o' /* UTF-16 */ } }
Unfortunately, that appears somewhat difficult. It'd be
a great problem to crack though, making it easy to
conditionally (gcc only?) move a ton of strings into
.rodata, save a load of heap, and save doing any
ref-counting on them too).
typedef struct {
int ref;
int len;
const wchar_t buffer[4];
} Str;
#define DECL_STR(a) \
((Str *)(&((const struct { int r; int l; const wchar_t b[strlen(a) + 1]; } ) { (1<<30)+1, strlen(a), L##a })))
...
printStr(DECL_STR("Foo"));
The GCC page on
Compound Literals is quite helpful. Unfortunately gcc
(apparently) doesn't elide duplicate DECL_STR generated output
in .rodata sections (which is interesting in itself perhaps).
(sample).
sal/qa/rtl/*
for examples
of how to do that), and also ported the obsolete tests that
had ruined my day before to the new framework & binned the
old ones in cppuhelpshrink. So - now the CWS saves 700+kb from
writer startup, and includes new unit tests & cleanups - I
wonder, what is the next objection ?
setup | group name compares | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
default | 297,491 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 element cache | 154,409 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 elem + check next | 91,740 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spec. | Pages |
---|---|
OpenXML - Markup Lang Ref | 5219 |
OpenXML - Primer | 472 |
OpenXML - Fundamentals | 173 |
OpenXML - Packaging Conventions | 129 |
OpenXML - Compat & Extensibility | 43 |
OpenDocument 1.0 | 706 |
SVG 1.1 | 719 |
XSL 1.1 | 514 |
MathML | 509 |
HTML 4.01 | 389 |
SMIL | 350 |
OpenFormula | 108 |
XForms | 86 |
XLink | 26 |
http://red-carpet.go-oo.org
; test docs.
This is of course a stop-gap measure, the goal is not a separate
converter (using XSLT) but high quality built-in OpenXML support,
re-using & re-factoring the existing Microsoft binary
filter code. Of course Mathias Bauer points out the Sun writer team
is doing some great work re-writing the existing code here to be
more flexible & elegant - read Henning's nice post about the
design
here.
Launching ./airsurf
, sigh.
explicit OUString( sal_Unicode value ) SAL_THROW(()) static inline OUString const & unacquired( rtl_uString * const * ppHandle ) inline bool endsWithIgnoreAsciiCaseAsciiL( char const * asciiStr, sal_Int32 asciiStrLength) constClearly we need to move a little faster to make the rtl String classes more useful if we mean to deprecate the tools equivalent.
This is the basis that my team work on. The VBA compatibility functionality is just an extension of existing MS Office interoperability work. I suspect that the poster is a pre-gratuity equine dental examiner looking for custom. I mean, even the premise that VBA (a simple Basic) is in some way revolutionary, innovative or novel is rather a stretch. The nice piece this was based on, and is rather more interesting is OpenOffice.org Calc adds support for Excel VBA. Of course, if you like Deja-Vu you might want to read this after the Sun announcement in which the heebie-jeebies are going at them instead.Q4. With this agreement, will Novell include Microsoft patented code in its contributions to the open source community?
No. Novell will not change its development practices as a result of this agreement. It has always been our policy in all development, open source and proprietary, to stay away from code that infringes another's patents, and we will continue to develop software using these standard practices. If any of our code is found to infringe someone else's patents, we will try to find prior technology to invalidate the patents, rework the code to design around the infringement, or as a last resort remove the functionality.
Novell is committed to protecting, preserving and promoting freedom for free and open source software.
Sun & Java - Microsoft licensed Java, news.com writes:
The germ of the suit began when Microsoft took out a Java license in 1996. Sun contended that Microsoft quickly began to run afoul of the licensing terms and filed the initial lawsuit in October 1997.
So here we see Microsoft making a really stupid move, signing an agreement they couldn't keep, and probably didn't need, and what was the end game ? they got to buy themselves out of it for $20million, got a load of injunctions slapped on them, had to retro-fix their product etc.
Lindows vs. Microsoft - the Wikipedia article is quite illuminating:
As part of this licensing settlement, Microsoft paid an estimated $24 million cash (for a case that Microsoft itself brought), and Lindows transferred the Lindows trademark to Microsoft and changed their name to Linspire.
And now of course, we all know the Windows & Office trademarks are indefensible, one rumour I heard had it that the settlement itself was intended to be secret, but SEC regulations mandated disclosure & this was missed by the MS lawyers.
Unfortunately the myth of MS infallibility is rather useful to them in a market where leadership is critical, and can move the market.
WinXP 2.0.4 | Lin 2.0.2 (Nov) | Lin 2.0.4 (Sun) | Lin 2.0.4 (Nov) | |
---|---|---|---|---|
Avg. Time (secs) | 4.0 | 2.4 | 1.69 | 1.55 |
String(RTL_CONSTASCII_FOO_LONG_MACRO_PARAM("foo"))which due to the miracle of polymorphism this ends up doing:
UniString( const sal_Char* pByteStr, rtl_TextEncoding eTextEncoding, sal_uInt32 nCvtFlags = BYTESTRING_TO_UNISTRING_CVTFLAGS );with
eTextEncoding == 3 == RTL_TEXTENCODING_IBM_437
(or
somesuch); not at all ideal.
before: 5611 5604 5606 5662 Avg: 5621 after: 4977 4883 4863 4881 Avg: 4901It seems the redirect script is no longer necessary, since _ZThn symbols are not marked linkonce anymore: neat. On the other hand, the speedup is only 13% - but this is an old PIII, need to reproduce on newer hardware; installed Alpha5 on some newer H/W in the background, X broke during boot; bother, filed bugs.
echo 1 > /proc/sys/kernel/sysrq echo "t" > /proc/sysrq-trigger
/opt/
instead of
/cygdrive/c/cygwin/opt
or whatever.
cvs tag Foo
seems to equate to a multi-step process:
Spreadsheet Compatibility. Forwards, Backwards, and SidewaysJody Goldberg (Novell) 12.09.2006 |
||
Lightning Fast StartupMichael Meeks & Jan Holesovsky (Novell) 12.9.2006 |
||
GStreamer in OpenOffice.org?Cedric Bosdonnat & Radek Doulik (Indep. & Novell) 13.9.2006 |
||
Building OO.o (faster?) with JamKai Backman (Google) 13.9.2006 |
||
Modular Building, splitting the buildCaolan McNamara (Red Hat) 12.09.2006 |
||
OpenOffice.org 2.x and beyondMichael Bemmer (Sun Microsystems) 12.9.2006 |
||
The Novell migration to OpenOffice.orgDebra Anderson (Novell) [ starts +9 minutes ] 12.9.2006 |