273
I Use This!
Activity Not Available

News

Posted over 12 years ago
Hackweek 7 - Work on Linux Developers Documentation Wiki
Posted over 12 years ago
Hackweek 7 - OVF Support in Kiwi with PPC/systemZ Support
Posted over 12 years ago
Hackweek 7 - Ruby Security Scanner / JS Code Generation Library
Posted over 12 years ago
Hackweek 7 - Filefuzzing
Posted over 12 years ago
Hackweek 7 - USB Configuration Tool
Posted over 12 years ago
Hackweek 7 - Storagecluster
Posted over 12 years ago
Last year for some reason that I can’t recall I only managed to take 1 day of hackweek, back then I started oletool.py. oletool.py is intended to be like a cheap & nasty (zip/unzip)-like command-line tool for OLE compound documents. I started ... [More] this for 2 reasons 1) I often play with Libreoffice filters, many times I want to either extract some stream or other from a document to examine it or maybe quickly modify a stream re-inject it into the document to test some code or theory 2) Libreoffice has support for Python, I know nothing about Python and I wanted to learn a new scripting language ( I know I could have used libgsf for this tool - maybe something for some spare cycles ) So, has to be said I wasn’t starting completely from scratch, Kohei already created mso-dumper for dumping the content of Excel documents in python. Last year I was happy with my one day’s work, I managed using Kohei’s mso-dumper code to quickly cobble together a tool that allowed the contents of the document to be displayed ( ala gsf list type format ) and also extract one or more streams Have to admit between the last Hackweek and this one I had completely forgotten whatever Python I had had learned. But, this time I did get around to reading the available documentation about the OLE compound document format and started trying to add support to be able to write OLE documents from oletool.py. I was aiming to be able to be able add support deletion ( stream or storage ), add ( stream or storage ) and update ( existing stream ) Things went a little ( ermmm much ) slower than I would have liked. I took the approach of trying to surgically write various pieces of the already read document and new pieces to the output document after I discovered that the byte array used in mso-dumper was immutable ( the array of bytes is really a string ), attempts to convert this to use the mutable bytearray type started giving many many errors in the exiting code and I admit I got scared off burning time trying to convert that unfamiliar stuff. This worked well enough especially for delete actions and modifying the header and Directory entries but I ran into a brick wall with more complicated scenarios of adding/modifying streams especially when various internal tables needed to be expanded etc. So eventually I ended up converting Ole.py to use bytearray ( this actually turned out not so hard at all ), also had to rewrite my code to use the existing data model and try and be able to write the document top to bottom from the model alone ( yeah I know that makes more sense but I tried to cheat to get stuff working faster which turned to be completely counter productive ) Another problem was plagued with strange errors that looked like corruption, my progress was really stifled by that. I really missed not having access to a debugger, scripting languages are great but you can easily get lost without some nice debugging aids besides the old reliable ‘print’. In the end and after nearly 2 days of debugging I found a strange quirk with bytearray, something like myoutputByteArray[ 4 : 24 ] = srcStringOrArray[ 0 : 20 ] can give quite unexpected results if the srcStringOrArray’s size is unexpectedly short, in these cases it seems a slice corresponding to the missing bytes in the source array is removed. The position of where the slices is removed from depends somehow on the start/end positions so it isn’t just that some bytes are removed from the end. This simple ( and still to me strange ) behaviour caused complete havoc and even appeared to screw up some things in memory. I suppose my lack of Python knowledge is showing here and to those in the know this is all obvious. After getting various bits working I managed in my final commits to break things ( now mostly fixed ) So, currently things are nearly working in terms of the most basic functionality, however the code is ugly in the extreme ( generally I like to get bits of functionality working before massaging it into some sort of shape ) there is plenty of cut’n'paste, little object-orientation and lots of debug print(s), additionally no testing or consideration of windows file paths etc. In essence still alot to do ( roll on the next hackweek ) the fruits of my labour(currently failure) can be see one this branch [Less]
Posted over 12 years ago
Image via Wikipedia This was supposed to be my review of BarCampMilwaukee6, with all the usual comments on what I learned, what I shared, and how much fun I had with the always-unique band of BarCampers. Only problem is that I missed it, for the ... [More] first time. I don’t know if this qualifies as a legitimate excuse, but there was a unique confluence of sporting events in Wisconsin last weekend: The Milwaukee Brewers faced the Arizona Diamondbacks in the first two games of the National League Division Series (btw, that Miller Park photo up there was taken by my friend, Jeramey Jannene) University of Nebraska made its Big Ten Conference debut in Madison against the U of Wisconsin-Madison The Denver Broncos came into Lambeau Field in Green Bay to play the Packers Like 225,000+ other Brewer fans, I tossed my name into the virtual hat to get what limited seats might be available for a playoff game at Miller Park. Astonishingly, I was one of the 5500 names selected to buy tickets for the Division Series. At the time, nobody knew when the games would be, so there was a chance that BarCamp wouldn’t be affected at all. But I had a plan, just in case the games were on the weekend: I’d buy tickets for the Sunday game, and go to BarCamp Saturday. When the time came to actually login and buy the tickets, the Virtual Waiting Room was not kind to me. By the time I got through, there was just standing room available for Game #2. Didn’t want to spend $25 to walk around the ballpark, so I dropped out. What I didn’t know at the time was that my brother-in-law got tickets for Game #1. After he offered me one of his tickets, I was on Plan B: I’d see baseball on Saturday, and go to BarCamp Sunday. This is what happened last year, when I went to the Farm Aid show at the same location. This would be fine. Until Thursday. I was working hard when I got a call from my boss’ boss. This sort of thing never happens. Any worries I might have had about the subject of the call were dissipated early. The CEO was wondering if I might be interested in using his tickets to the Packer game Sunday. For a multitude of reasons, I said ‘yes.’ I was immediately glad I didn’t get those Sunday baseball tickets. But now what? Plan C goes into effect: Baseball Saturday afternoon, BarCamp in the evening (I could forego the Badger game), Green Bay on Sunday. We had a great time at Miller Park Saturday afternoon. What I was not expecting was that my back would suddenly start acting wacky the instant I came home from the ballpark. I literally could not get out of my chair without great pain. So I was hosed. With several big doses of ibuprofen and a long car ride to Green Bay, I somehow managed to make it through the football game too. It was my first time at the Temple of (American) Football, and it was certainly unforgettable. But I felt pretty bad about missing my favorite (un)conference. This will be different next year. Anyway, if you’d like to see what we all missed, here’s the schedule. If you went to BarCamp, please share some highlights in the comments. Feel free to denounce me for my wicked choices too. Have you ever had a conflict between two or more events that you had major passions for? How did you resolve it? Was it the right decision? Comment below. One more thing: GO BREWERS!! [Less]
Posted over 12 years ago
Up early. Prodded mail, call with Kevin Hunter, then Ludwig. Disappointed to see the good work being done in LibreOffice to improve our security & vigilance (as clearly disclosed well in advance to all related vendors and projects ... [More] on the multi-vendor list) twisted by people outside the (necessarily private) lists. The process, combined with some (lack of) response problems from Mitre is not perfect, for sure, but hopefully, the punch-line is clear; if you're not using the latest verisons preferably 3.4.3 or (for the profoundly conservative) 3.3.4 then it would be helpful to update your LibreOffice. Fetched E. from pre-school, lunch, TSC meeting. Recently one of our top slide designers: Karlin Stokes pointed out how annoying it is that color schemes cannot be embedded in ODP presentations. That means that causal users tend to create bad presentations not using the carefully selected palette that matches the corporate artwork provided by the experts. So - during SUSE Hack Week I spent a while working away at this. The user interface change being the rather small 'Embed' button highlighted. That should move into a more useful place soon I hope, and finding a volunteer to help move this (essentially file based configuration) into the File->Properties dialog would be wonderful. Much of the rest of my hack-week was overwhelmed with fixing unit test pieces, patches review, and misc. admin - although I did manage to get a bit done driving the gtk3/broadway port forwards. Tended J. now chewing antibiotics at a great rate, put the babes to bed, and back to work. [Less]
Posted over 12 years ago
The worst thing that makes conflicts do damage is related to a (possibly mis-attributed) quote of Burke:All that is necessary for the triumph of evil is that good men do nothing.If somebody is behaving badly, don't let them do their damage. Realize ... [More] that by not stepping up you are partially responsible for the damage being done to the motivation of whoever is being abused. I'm assuming you care about your community? Then speak up! Often, people who are being rude don't even realize that. It is learning for them too. And if they DID realize it and keep doing it, moderation is a mail or ping away.Yes, openSUSE has moderation. At the conference it was decided to have a reminder of that on our mailing lists. They now feature a footer which tells you how to contact our mods. We have the guiding principles and if people cross the line, you can refer to them. If whoever crosses the line is new to our community, mail or ping them privately. If they keep doing it, feel free to tell them in public they should stop. If they still don't, ask a moderator...Yes, we have freedom of speech. But this is our corner of the web and if people want to be assholes, well, let them get their own blog to rant. This also applies to bikeshedding: it does damage, so do something if it happens! [Less]