Lifehttp://blog.chris.szikszoy.com
Bits and Pieces, as I see themMon, 30 Aug 2010 20:14:07 +0000enhourly1http://wordpress.org/?v=3.0.1How time flieshttp://blog.chris.szikszoy.com/2010/08/how-time-flies/
http://blog.chris.szikszoy.com/2010/08/how-time-flies/#commentsMon, 30 Aug 2010 20:14:07 +0000Chris S.http://blog.chris.szikszoy.com/?p=101It’s so great to be able to run again. Just 9 months ago I needed help walking more than 10 feet.
]]>http://blog.chris.szikszoy.com/2010/08/how-time-flies/feed/0Things to do in Oklahomahttp://blog.chris.szikszoy.com/2010/07/things-to-do-in-oklahoma/
http://blog.chris.szikszoy.com/2010/07/things-to-do-in-oklahoma/#commentsSun, 18 Jul 2010 20:54:52 +0000Chris S.http://blog.chris.szikszoy.com/?p=97I’m in Oklahoma City for work, again. It’s a little less exciting than LA, and the food is definitely not as good as the food in LA is, but it’s not all bad. It’s nice not to have traffic, ever. It would be nice for my 6 mile drive to work not to take 45+ minutes…

Another good thing about having all of this free time is that I have a chance to do some hacking! A few weeks ago I started reading up on how to make a packet dissector for Wireshark. Wireshark has some fantastic documentation, and the biggest barrier to entry I think is just the fact that there is so much written. I’ve worked my way through a couple of 1000+ line documents and believe I have a solid handle on how it all works. My other work in the open source world has definitely made it much easier. For example, I’m already familiar with autotools and GObject libraries. That said, however, I’m not so good at C programming, yet. I’ve spent most of my free time hacking in C# (w/ mono) or Vala (a C# like language developed to be a better fit with the GObject type system). I really enjoy getting back into C, though. I’ve done a bit of C programming for embedded systems, but always wished I could do more.

On the topic of Wireshark, that software really is amazing. It’s so great to see such well written software representing the open source community.

I also haven’t blogged about Docky yet. I’ve spent a lot of my free time there. I’ll have to explain more soon.

]]>http://blog.chris.szikszoy.com/2010/07/things-to-do-in-oklahoma/feed/0Do development meetinghttp://blog.chris.szikszoy.com/2010/03/do-development-meeting/
http://blog.chris.szikszoy.com/2010/03/do-development-meeting/#commentsWed, 17 Mar 2010 20:16:56 +0000Chris S.http://blog.chris.szikszoy.com/?p=91Recently we, the GNOME Do developers, held a meeting to discuss our goals for the project. Development has slowed to a crawl over the last few months so the purpose of this meeting was to determine where we should be taking the project, and how to get development rolling again. I was able to rescue most of the log of the meeting from my xchat logs, and I’ve cleaned it up and am posting it here now, for all to see.

Unfortunately the first few minutes of the meeting were not present in my log. We started a little late and the only thing that’s missing in this log is the decision to change the name of the project from “GNOME Do”, to just “Do”.

8:18:18 PM <cszikszoy_> I already pay for a webserver docky
8:18:26 PM <cszikszoy_> buy a domain name and we can use that server
8:18:28 PM <djsiegel> cszikszoy_is it pretty reliable ?
8:18:32 PM <cszikszoy_> godaddy
8:18:37 PM <djsiegel> they host it?
8:18:39 PM <cszikszoy_> I’ve had nothing but awesome experience with them
8:18:40 PM <cszikszoy_> yep
8:18:53 PM <djsiegel> how long have you used them?
8:19:02 PM <cszikszoy_> ~3-4 years
8:19:17 PM <djsiegel> ok, seems reasonable to keep docky and do under similar structure
8:19:19 PM <lamalex> godaddy are pretty much the standard afaik
8:19:22 PM <djsiegel> since we’re all the same people
8:19:28 PM <lamalex> go-do.com?
8:19:34 PM <djsiegel> godaddy is standard for names, burarely hosting…
8:19:34 PM <cszikszoy_> it doesn’really have anything to do with docky
8:19:46 PM <djsiegel> well, it makes sense to host do and docky together
8:19:49 PM <cszikszoy_> they would only be hosted on the same server
8:19:56 PM <djsiegel> DanRabbit should have access to both, for examples
8:19:57 PM <cszikszoy_> they would have different domain names completely
8:20:00 PM <lamalex> damn, taken
8:20:11 PM <cszikszoy_> oh sure, i can change ftp users and such
8:20:17 PM <RAOF> Right.
8:20:19 PM <djsiegel> do-project
8:20:23 PM <djsiegel> yuck
8:20:28 PM <DanRabbit> haha
8:20:42 PM <djsiegel> omgdo.com
8:20:44 PM <cszikszoy_> all that we need is a domain name, and I’ll handle setting up the webserver and that junk
8:20:58 PM <mpiroc> do.com doesn’appear to be taken
8:21:06 PM <lamalex> mpiroc, urls need 3 or more chars
8:21:06 PM <djsiegel> do.com is owned by MS
8:21:13 PM <DanRabbit> damn
8:21:27 PM <djsiegel> we should try alternate suffixes
8:21:36 PM <djsiegel> I really don’like .com anyay
8:21:38 PM <cszikszoy_> do.us
8:21:38 PM <djsiegel> anyway
8:21:41 PM <lamalex> do us
8:21:46 PM <lamalex> a little biracy don’you think?
8:21:48 PM <lamalex>
8:21:57 PM <cszikszoy_> I that was our “thing”?
8:22:00 PM <lamalex> also we’re an international project
8:22:11 PM <DanRabbit> I know this might be kind of contriversial, but what about moving Do and Docky to the elementary-projecserver?
8:22:13 PM <djsiegel> dodododo.com ?
8:22:14 PM <cszikszoy_> I know, it was a joke.
8:22:14 PM <lamalex> i don’think RAOFwould appreciate being relegated to a US domain
8:22:15 PM <djsiegel> 4 or 5 do’s?
8:22:18 PM <djsiegel> dododododo.com
8:22:31 PM <DanRabbit> ah, I would never hand that URL out lol
8:22:33 PM <djsiegel> superspa.ce
8:22:43 PM <lamalex> oo
8:22:44 PM <lamalex> daddy likes
8:22:46 PM <DanRabbit> oh yea, something with superspace would be cool
8:22:48 PM <RAOF> summon-do.org
8:22:49 PM <cszikszoy_> so anyways, the details of domain name can be worked oulater, I think besthing to do would start a mailing listhread
8:23:06 PM <d0od> the dominican domain suffix is .do
8:23:08 PM <djsiegel> cszikszoy_ that goes nowhere!
8:23:16 PM <lamalex> do.do
8:23:20 PM <cszikszoy_> I’ll provide hosting space and handle setting up users
8:23:34 PM <djsiegel> cszikszoy_: ok you are no webmaster
8:23:40 PM <cszikszoy_> djsiegel: in the interet sof time, I don’wanto spend more than a few minutes brainstorming domain names
8:23:51 PM <cszikszoy_> djsiegel: who said anything about a webmaster?
8:24:07 PM <djsiegel> cszikszoy_: I said something about it!
8:24:13 PM <cszikszoy_> I just said that I pay for hosting space and have no problem using some of that for do’s website
8:24:26 PM <djsiegel> right, you also said you’d set up accounts and stuff
8:24:27 PM <lamalex> why do we need to move from davebsd in the firsplace? is going away?
8:24:30 PM <djsiegel> doesn’t make you webmaster?
8:24:40 PM <djsiegel> lamalex: I justhink it’s a bit nerdy and non sequitur
8:24:56 PM <cszikszoy_> no, that would make me the setter up of accounts
8:25:01 PM <DanRabbit> lol
8:25:03 PM <cszikszoy_> the webmaster would make website
8:25:07 PM <lamalex> cszikszoy, djsiegel, kind of irrelvant
8:25:11 PM <DanRabbit> okay anyways, too much time on trivial topics
8:25:15 PM <djsiegel> cszikszoy_ you need to take it or leave it, we someone in charge
8:25:43 PM <djsiegel> it’s not trivial, guys, it would be very useful to know who’s doing what going forward
8:25:57 PM <djsiegel> is anyone interested in being responsible for the server?
8:26:21 PM <cszikszoy_> I don’think need to take or leave anything, I’m offering hosting space so someone else doesn’have pay $60/year
8:26:35 PM <lamalex> i think cszikszoy_ volunteered, why is he not an acceptable webmaster?
8:26:41 PM <djsiegel> he is@!
8:26:45 PM <djsiegel> thais whaI am saying
8:26:55 PM <cszikszoy_> I think you missed a ‘w’, djsiegel
8:27:03 PM <lamalex> <djsiegel> cszikszoy_: ok you are no webmaster
8:27:07 PM <djsiegel> haha!
8:27:07 PM <djsiegel> oops
8:27:08 PM <djsiegel> lol
8:27:11 PM <cszikszoy_> kind of changing the meaning whayou said, but in thacase, ok
8:27:13 PM <lamalex> hahaha
8:27:14 PM <djsiegel> “ok you are now webmaster”
8:27:16 PM <djsiegel> fuck guys
8:27:18 PM <djsiegel> SKYPE
8:27:18 PM <RAOF>
8:27:24 PM <cszikszoy_> we’re in agreement… so, next?
8:27:26 PM <mahfouz> what is an ebbmaster?
8:27:27 PM <djsiegel> yes
8:27:37 PM <djsiegel> oh that was funny
8:28:04 PM <lamalex> zg/tracker can wait, let’s defer that for another meeting
8:28:08 PM <djsiegel> Ok, we’re off to a great start: rename Do, move new server be admined by chris
8:28:12 PM <djsiegel> yeah thais long tail stuff
8:28:23 PM <lamalex> we don’t want to talk about new features righnow, need to stabilize core
8:28:27 PM <djsiegel> right
8:28:46 PM <lamalex> so current issues in core
8:28:49 PM <lamalex> plugins can still take down Do
8:29:10 PM <DanRabbit> cszikszoy_: lol
8:29:14 PM <RAOF> Plugins are required to handle threading.
8:29:15 PM <cszikszoy_> DanRabbit: ?
8:29:26 PM <DanRabbit> cszikszoy_: webmonster
8:29:31 PM <cszikszoy_> ah
8:29:33 PM <djsiegel> I am pretty sure we need to split out plugin into their own processes for absolute separation
8:29:49 PM <djsiegel> which is not bad, docky seems to be doing this with some of the external python stuff?
8:29:50 PM <RAOF> That’s certainly my feeling, yes.
8:29:56 PM <lamalex> yeah, I think so too. Which luckily mono makes pretty easy
8:30:07 PM <cszikszoy_> djsiegel: sort of, but that limits the sort of interaction python helpers can have with docky
8:30:09 PM <djsiegel> I seriously think we should follow suit to allow two classes of plugins: C# (.NET) and dbus
8:30:21 PM <RAOF> Yes.
8:30:29 PM <lamalex> +1
8:30:33 PM *mahfouz has qui( 23Quit: Ex-Cha 23)
8:30:35 PM <djsiegel> if we do a new plugin style with dbus, get to start over
8:30:39 PM <djsiegel> it could be very nice to do that
8:31:02 PM <djsiegel> for example, the twitter plugin comes with gwibber
8:31:03 PM <lamalex> we could really just have 1 plugin style of Dbus, and make a .NET wrapper assembly for convenience
8:31:03 PM <djsiegel> or pino
8:31:12 PM <djsiegel> install pino, you have a tweeaction in Do
8:31:17 PM <djsiegel> lamalex: yeah
8:31:19 PM <RAOF> lamalex: Or the other way around, yeah.
8:31:28 PM <RAOF> One will certainly wrap the other.
8:31:31 PM <lamalex> yeah
8:31:46 PM <DanRabbit> djsiegel: yes, I would love to have Do recognize the applications. That would almost remove need add plugins in prefs.
8:31:52 PM <djsiegel> this way zg/tracker can imlement their own integration
8:32:00 PM <RAOF> The one which gets wrapped will be the less-powerful one. I’m not *sure* we can do everything wanto in dbus.
8:32:00 PM <djsiegel> I’m sure seif will do that tomorrow
8:32:03 PM <RAOF>
8:32:08 PM <lamalex> djsiegel, the zg stuff was going to actually be for relevancy engine
8:32:15 PM <djsiegel> ah, right
8:32:17 PM <RAOF> Right. Allowing other projects to do our work for us is a Good Thing.
8:32:23 PM <DanRabbit>
8:33:12 PM <RAOF> Ok. So, we’re all agreed that out-of-process plugins is the way to go.
8:33:20 PM <djsiegel> +1
8:33:29 PM <RAOF> What’s actionable here?
8:33:42 PM <djsiegel> well, it helps us think about how to clean up and rearchitect
8:34:14 PM <RAOF> Yeah. I just wanted something written that someone can pick up and do.
8:35:13 PM <djsiegel> What are we actually left with?
8:35:16 PM <djsiegel> The name, awareness
8:35:23 PM <RAOF> And the code that’s here.
8:35:25 PM <djsiegel> the fact that we are installed on machines
8:35:33 PM <RAOF> We’re not going to be throwing it all away.
8:35:40 PM <djsiegel> The only code we’ll carry over is interface stuff
8:35:44 PM <djsiegel> and even that has to become async
8:35:57 PM <RAOF> We’ll be replacing stuff in-place.
8:36:05 PM <RAOF> We’re *not* doing a mozilla
8:37:03 PM <lamalex> what’s a mozilla
8:38:16 PM <djsiegel> Are we happy with our platform? (mono)
8:38:17 PM <RAOF> lamalex: Where you take a successful project, like Netscape Navigator, throw all the code away and spend years making sucky firefox.
8:38:27 PM <lamalex> i am
8:38:29 PM <RAOF> Yes.
8:39:06 PM <djsiegel> Me too.
8:39:49 PM <DanRabbit> I can’say much about Do’s code, because haven’t explored it much. But, even for a relative non-coder Docky + Monodevelop have been really great to work with.
8:40:02 PM <djsiegel> Yeah, mono has the best tools
8:40:04 PM <RAOF> +lots
8:40:25 PM <djsiegel> I was just asking, since we’re already doing a lot of work.
8:41:48 PM <djsiegel> Ok, what’s next/
8:41:54 PM <RAOF> GSoC.
8:42:16 PM <RAOF> Can we apply & get mpiroc to rewrite our relavence engine.
8:42:29 PM <djsiegel> mpiroc: are you on skype?
8:42:38 PM <mpiroc> I’m not, no microphone
8:42:41 PM <djsiegel> ok
8:42:43 PM <mpiroc> I can go install it to listen in
8:43:11 PM <djsiegel> mpiroc: so, whaare you interested in?
8:43:50 PM <mpiroc> RAOF was talking about making the relevance engine contextual. I.e. an item wouldn’just have a score, it would be more or less relevant in different contexts.
8:44:18 PM <djsiegel> mpiroc: are you doing any research in this area? what is your background? Are a CS student?
8:45:28 PM <mpiroc> I’m a CS student–not doing any research in this area. My background is mostly C# and python, particularly Gtk stuff, allthough I’ve done other stuff for school.
8:45:46 PM <mpiroc> I’m nocurrently involved in Do, although I’ve done some small things with Docky
8:46:11 PM <cszikszoy_> back, sorry, someone came by my desk and they talk, and…. talk.
8:46:51 PM <djsiegel> http://smokingapples.com/wp-content/uploads/2009/06/google-qsb.jpg
8:46:54 PM <cszikszoy_> so, scrolling back, that’s exactly what we did with docky
8:47:02 PM <cszikszoy_> we have the dbus interface thaanyone can consume
8:47:29 PM <cszikszoy_> and I also made a .NET assembly that handled everything that the Docky.py class handled allowed you to create simple helper that way too
8:47:40 PM <RAOF> mpiroc: So, just doing a contextual relevance engine is not going to take whole summer. We’d also like you do some research into the area and something nice.
8:47:56 PM <mpiroc> Oh right–I thoughyou mean “are you currently doing any research”
8:48:50 PM <mpiroc> Yeah I can look into something like djsiegel’s screenshot. also think OS X’s spotlight does some cool stuff in this area, buI’m nosure how well it translates to Do
8:48:52 PM <cszikszoy_> mpiroc + GSoC sounds like a fantastic idea
8:49:29 PM *JaVaEs has qui( 23Quit: Leaving. 23)
8:49:45 PM <mpiroc> http://toastytech.com/guis/osx14spotlight.png
8:49:46 PM <cszikszoy_> GSoC doesn’start for a little while, so that would give us some time to flush out our requirements for contextual relevancy engine
8:50:03 PM <djsiegel> mpiroc: sorry that was unrelated
8:50:09 PM <cszikszoy_> in the mean time, what we can do now is to clean up Do.Interface stuff
8:50:19 PM <cszikszoy_> We need to move all GTK UI code Do.Interface.Gtk
8:50:29 PM <mpiroc> cszikszoy_: The SoC doesn’starfor a while, but mentor applications are due by the 12th
8:50:33 PM <mpiroc> just FYI
8:50:42 PM <cszikszoy_> of March?
8:50:42 PM <djsiegel> mpiroc: I justhink it would be really great if you could do some research, produce a white paper
8:50:58 PM <lamalex> mpiroc, I’ll apply for mentorship just to be safe
8:51:01 PM <djsiegel> mpiroc: just so there’s some academic authority to your work, and it’s not just hacking all summer
8:51:14 PM <DanRabbit> djsiegel: that screenshot was HOT
8:51:27 PM <djsiegel> because the relevance engine is a huge opportunity to do some research
8:51:48 PM <mpiroc> djsiegel: That sounds like a good idea
8:52:45 PM <DanRabbit> djsiegel: slightly off topic, but if I could get a list of all the icons that Do uses by itself (no plugins) that would be awesome. That way can get all those done in 128px
8:53:46 PM <cszikszoy_> This sort of goes along with our talk about Do.Interface work, but RAOFand I have talked before about revising definition of an “Icon”
8:54:01 PM <cszikszoy_> specifically, a string just won’cut it
8:55:02 PM <djsiegel> DanRabbit: put a print statement in the relevant part of codre and disable all plugins!
8:55:31 PM <RAOF> Right. What we need for an Icon base class is the ability to render appropriate targets – cairo surfaces, windows bitmaps, etc.
8:55:39 PM <DanRabbit> djsiegel: if I knew how to do that I wouldn’t ask :p
8:55:40 PM <djsiegel> ok, time to wrap things up
8:55:51 PM <cszikszoy_> DanRabbit: I’ll help you with it later, ping me
8:55:52 PM <djsiegel> let’s look athe wave for a summary of action times
8:55:55 PM <djsiegel> items*
8:55:56 PM <DanRabbit> cszikszoy_: ty
8:56:49 PM <cszikszoy_> I think we still need to talk about just how want to interface with the core of do
8:57:10 PM <cszikszoy_> I think the Do.Platform* code is all good, buthere some work we need to do for Do.Interface* stuff
8:57:53 PM <cszikszoy_> Do.Interface should all be abstract, no GTK ui, and have a generic icon loader, capable of taking our Do.Icon class rendering that icon onto whatever surface we need based on the platform / ui toolkit being used
8:58:00 PM <zash > wtf? skype and wave
8:58:26 PM <cszikszoy_> once that’s done, I feel comfortable picking up the pieces on windows port
8:59:11 PM <cszikszoy_> but as it stands now, it’s not practical to work on windows / osx kde ports.
8:59:20 PM <djsiegel> cszikszoy_ right
8:59:37 PM <djsiegel> cszikszoy_ but that’s at least a good 4-6 months away
8:59:41 PM <cszikszoy_> so with the remaining time, what abouscheduling another meeting?
9:00:00 PM <cszikszoy_> djsiegel: yes, but in the 4-6 months meantime, I wanto get Do.Interface* cleaned up and usable
9:00:26 PM <DanRabbit> +1 on scheduling another meeting
9:00:41 PM <cszikszoy_> to do that we need develop some requirements
9:00:56 PM <cszikszoy_> I have good knowledge on what I had to do and hack up make windows support work
9:01:07 PM <cszikszoy_> and there was a significant bit of work I had to do in the Do.Interface* area
9:01:29 PM <djsiegel> hmm
9:01:32 PM <cszikszoy_> so with that in mind, I think we can develop a spec for how want Do.Interface and .Interface.GTK, etc to work interact
9:01:36 PM <djsiegel> ok cszikszoy_can you documensome of this?
9:01:44 PM <djsiegel> the stuff you had most trouble with?
9:01:57 PM <djsiegel> so we can use it as a requirements document when cleaning up and refactoring /
9:02:02 PM <cszikszoy_> sure
9:02:27 PM <cszikszoy_> I’ve gone over most of it with RAOF already I think, buI’ll create a more formal document
9:02:34 PM <cszikszoy_> Is google docs OK with everyone?
9:02:42 PM <djsiegel> cszikszoy_: sounds good
9:02:51 PM <cszikszoy_> that way we can all view / edithis Do.Interface requiremen/ specs doc
9:03:29 PM <cszikszoy_> what’s the action item for domain name?
9:03:38 PM <cszikszoy_> are we going to think abouifor a bit, or?
9:04:02 PM <cszikszoy_> it would probably be easiest if I just get one, cause can easily get it linked up with my hosting acct with godaddy
9:04:06 PM <RAOF> Think about it for a bit.
9:04:26 PM <cszikszoy_> I assume we can use some of the donations money for this domain name?
9:05:28 PM <djsiegel> cszikszoy_sure, just tell me any of your costs and I can send you money
9:05:29 PM <RAOF> Thawould seem reasonable.
9:05:35 PM <djsiegel> I think we have like $200 buI need to check
9:05:38 PM <cszikszoy_> ok
9:05:48 PM <cszikszoy_> won’be anywhere near that, I’m sure
9:06:19 PM <cszikszoy_> so finally, what about scheduling another meeting?
9:06:21 PM <cszikszoy_> or is there a need?
9:06:44 PM <lamalex> im not sure there is at the moment
9:06:46 PM <RAOF> I’m not sure there’s a need.
9:07:05 PM <cszikszoy_> ok, we can continue the discussion of a Do.Interface rework through mailing list / google docs
9:07:07 PM <RAOF> If you think another meeting will be useful, feel free to ping everyone again.
9:07:15 PM <RAOF> cszikszoy_: Yes.
9:07:29 PM <cszikszoy_> ok, sounds good everyone.
9:07:41 PM <cszikszoy_> I’ve really goto go, buI’ll idle here for a while longer.
9:08:18 PM <DanRabbit> brb

]]>http://blog.chris.szikszoy.com/2010/03/do-development-meeting/feed/0GNOME Do plugin usage pollhttp://blog.chris.szikszoy.com/2009/08/gnome-do-plugin-usage-poll/
http://blog.chris.szikszoy.com/2009/08/gnome-do-plugin-usage-poll/#commentsThu, 13 Aug 2009 06:51:25 +0000Chris S.http://blog.chris.szikszoy.com/?p=88I wanted to get an indication of which plugins everyone uses, so I made this poll. Please vote for each plugin that you actively use. Also, if you have any comments or suggestions, feel free to post below!
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]>http://blog.chris.szikszoy.com/2009/08/gnome-do-plugin-usage-poll/feed/0RemindMe Plugin included in Do 0.8.2http://blog.chris.szikszoy.com/2009/07/remindme-plugin-included-in-do-0-8-2/
http://blog.chris.szikszoy.com/2009/07/remindme-plugin-included-in-do-0-8-2/#commentsThu, 16 Jul 2009 03:09:12 +0000Chris S.http://blog.chris.szikszoy.com/?p=85

Set small reminders with Do

With the recent launch of GNOME Do 0.8.2, a plugin I wrote called RemindMe was released as well. This small plugin allows you to set small reminders for yourself, by simply typing the reminder and a time. You can set two types of reminders, a count down timer, like in the example image. Or you can set a reminder for a specific time. I’ve tried to make the plugin be extremely flexible with the time strings, so both AM/PM and 24 hour times are accepted and spaces are ignored.

By default, all reminders are allowed to be snoozed. When the time is up, you will be presented with a small notification containing your reminder, and a button to snooze. You can also create reminders where snooze is not allowed.

For more information about how to use the plugin, please see the wiki page where I’ve described in detail how to use the plugin.

]]>http://blog.chris.szikszoy.com/2009/07/remindme-plugin-included-in-do-0-8-2/feed/2The beauty of descriptive error messageshttp://blog.chris.szikszoy.com/2009/05/the-beauty-of-descriptive-error-messages/
http://blog.chris.szikszoy.com/2009/05/the-beauty-of-descriptive-error-messages/#commentsFri, 08 May 2009 00:11:16 +0000Chris S.http://blog.chris.szikszoy.com/?p=82Recently I’ve been doing some contracting work for a friend. The project is pretty simple, but it gives me a reason to finally play with Mono’s sqlite database engine. It’s actually really cool, and I’m very happy to say that it works extremely well on Windows + Visual Studio. Normally my IDE of choice is MonoDevelop, but the project requires me to read information from an excel spreadsheet, which is not a very easy thing to do if you don’t actually have Microsoft Excel installed on your computer. But anyways, it’s no problem, that’s where VirtualBox comes to the rescue.

But, that’s not really the point of this whole message. The point of this entire post is to let people know how important it is to write descriptive error messages. I was doing some stuff with a few records, and kept getting this exception:

SQL logic error or missing database

I was a bit confused by that. I checked the actual database, and it was still there. Sql logic error? Where is the logic error in “INSERT INTO ….”? After a bit of searching, I found out that sqlite actually uses this error message for just about everything! The problem with my code is I was trying to insert records into the table that already had a record with the same primary key. So, why can’t they write that instead of something so generic it could really mean just about anything?

Well, today’s finally the day; After weeks of alpha testing and months hard work, GNOME Do 0.8.0 is released! This is another monumental release for an amazingly useful application. GNOME Do has increasingly become the cornerstone of my linux desktop experience. From time to time I even catch myself stopping to think about how I would have done that if Do wasn’t just a “super-space” away. Sufficed to say, “Longer than I care to think about”, is the answer I usually come to with regards to that question.

First of all, before I go any further, I’d just like to personally thank everyone involved with the project. Everyone that’s helped in some minute way to make Do what it is today deserves thanks. Some of these people include: David Siegel, who started Do as a college project, Jason Smith, who is largely responsible for “Docky”, Alex Launi, for some great work on the new plugin API and some of the most useful Do plugins around, Peng, for some more great plugins, and for helping me with some c# code I was writing for a plugin, and Cimi and Kalle for translations and much new insight. There’s so many more people associated with this great application, it’s hard to thank everyone!

Now, it’d be wrong to talk about such a great application, and not show off any pretty pictures, so I’ll show some screenshots of Do here. Some screenshots include things that I’m working on currently, and aren’t yet released. Enjoy!

First let’s take a look at how you can add things to the dock. Adding items to the dock is pretty easy actually. You can drag launchers onto the dock. You can also manually add items to the dock by

Stick items to the dock!

summoning Do, finding the item you want, and clicking on the little “+” sign to the left of it, as is shown in the image to the right. And, if all of that is just too much for you, you can even sit back and let Do “do” the work for you! The dock automatically gets populated with your most used items!

What if you don’t like the items on your dock anymore? Well this could not get any easier. You have two options, either right click on the item and select “Remove from Dock”, or just grab that item, and literally throw it off the dock!

Throw it off your Dock!

Finally, there’s one more picture I’d like to show. I mostly do work with plugins, and I’ve been working on making some plugins more friendly on the Dock. One of those that I’ve been working on is the Rhythmbox plugin. The banshee plugin that Alex has been working on has pretty actions that show up when you right-click on banshee when it’s on the dock. When the changes I’m making to the rhythmbox plugin get merged, Rhythmbox users will be able to enjoy this cool feature too!

Playback options for Rhythmbox

Once again, thanks everyone who made Do possible. Even though I’m not a big-time contributer, I hope my plugins (virtualbox & translate) will be helpful to some people. I’d also like to thank David, Jason and Alex in particular for helping me to write these plugins for such a great application. Much of my background lies in programming for embedded systems, so I’m not exactly “profficient” at programming at such a high level. Nonetheless, I feel as though I’ve received a lifetime’s worth of experience and learning just from hanigng around you guys! Thanks again!

]]>http://blog.chris.szikszoy.com/2009/01/its-a-happy-day-in-gnome-do-land-080-released/feed/1Another PulseAudio Gotcha — problems with hostnames, zeroconf, and RTP streamshttp://blog.chris.szikszoy.com/2009/01/another-pulseaudio-gotcha-problems-with-hostnames-zeroconf-and-rtp-streams/
http://blog.chris.szikszoy.com/2009/01/another-pulseaudio-gotcha-problems-with-hostnames-zeroconf-and-rtp-streams/#commentsFri, 09 Jan 2009 22:33:29 +0000Chris S.http://blog.chris.szikszoy.com/?p=41I’m very happy to say that I’ve finally got my PulseAudio setup working. Technically, it was “working” before, but I could never get any of the network functionality to work. Using PADevChooser, I could “see” other hosts with PA installed under the server menu, but I could never move streams to other hosts across the networks. Also, the RTP sink would never quite work. On some computers it wouldn’t even loopback to the local speakers. Something was obviously wrong.
After checking my system logs, I found something interesting.
[code]
Jan 9 11:51:43 chris-laptop pulseaudio[7116]: module-zeroconf-discover.c: Cannot construct valid device name from credentials of service 'tunnel.chris-desktop.local.alsa_output.pci_10de_59_sound_card_0_alsa_playback_0'.
Jan 9 11:51:43 chris-laptop pulseaudio[7116]: module-zeroconf-discover.c: Cannot construct valid device name from credentials of service 'tunnel.chris-desktop.local.alsa_input.usb_device_46d_8b5_noserial_if1_sound_card_0_alsa_capture_0'.
Jan 9 11:51:43 chris-laptop pulseaudio[7116]: module-zeroconf-discover.c: Cannot construct valid device name from credentials of service 'tunnel.chris-desktop.local.alsa_input.pci_10de_59_sound_card_0_alsa_capture_0'.
Jan 9 11:51:43 chris-laptop pulseaudio[7116]: module-zeroconf-discover.c: Cannot construct valid device name from credentials of service 'tunnel.chris-desktop.local.combined'.
Jan 9 11:51:43 chris-laptop pulseaudio[7116]: module-zeroconf-discover.c: Cannot construct valid device name from credentials of service 'tunnel.chris-desktop.local.rtp'.
[/code]

It seemed pretty relevant, so I started hunting for anything I could find that seemed to explain just what these error messages meant. After a shot search, I found this. This seemed to be exactly the problem I was experiencing. Sure enough, all of my computers have a ‘-’ in their hostnames. It was a little strange to me that it was marked fixed, but I figured it was worth it to find out whether or not this was what was causing pulse to die on the network.

Much to my surprise, after chaing the hostnames of my computers, pulse now works wonderfully! I can seamlessly move streams between devices over the network, and the RTP sink now plays music on all computers (and even correctly loops back audio on the current computer)!

What I did to fix this was change the hostname of every computer that currently had a ‘-’ in the hostname. To do this, it was quite simple actually. Debin/Ubuntu sets the computer’s hostname to whatever is in /etc/hostname on bootup. To change the computer’s hostname, simply change the contents of this file.

[code]
sudo nano /etc/hostname
[/code]

Then save changes and exit. To change the computer’s hostname instantly, use this script:

[code]
sudo /etc/init.d/hostname.sh start
[/code]

You’ll also have to change another file as well. Failure to change both of these could lock you out of your account and prevent you from using sudo! On this next file, you’ll have to check the two lines at the top. The first two lines should currently look like this:

[code]
127.0.0.1 HOSTNAME
127.0.1.1 OLD_HOSTNAME
[/code]

All you need to do is change OLD_HOSTNAME to HOSTNAME.

More than likely, you’ll have to restart the pulseaudio server to register these changes. Either logout or reboot, and hopefully, pulse will play nice with your network now!

]]>http://blog.chris.szikszoy.com/2009/01/another-pulseaudio-gotcha-problems-with-hostnames-zeroconf-and-rtp-streams/feed/1Howto: Fix low system volume on Ubuntu 8.10 Intrepidhttp://blog.chris.szikszoy.com/2008/12/howto-fix-low-system-volume-on-ubuntu-810-intrepid/
http://blog.chris.szikszoy.com/2008/12/howto-fix-low-system-volume-on-ubuntu-810-intrepid/#commentsThu, 11 Dec 2008 01:46:28 +0000Chris S.http://blog.chris.szikszoy.com/?p=39I recently installed Ubuntu 8.10 (the Intrepid Ibex) on my laptop. I’m happy to say that the upgrade process from 8.04 to 8.10 went very well. When I first installed 8.04 I created a separate partition for /home (there’s a great howto guide here). This made the upgrade process so incredibly painless.

After spending some time reinstalling some programs, I discovered that PulseAudio finally worked on my laptop. Even though Pulse was included in 8.04, it didn’t work on my laptop and I had to switch everything back to ALSA. I played around with Pulse for a couple of minutes, setting everything up and then I started to notice something strange. Even though my system volume was turned up to 100%, everything still seemed too quiet. I tried changing the device in System > Preferences > Sound, but nothing seemed to help.

Running alsamixer in terminal only showed one mixer track — as it should if PulseAudio was enabled, and this read 100%. After quite a bit of searching I found out what was wrong. It turned out that one of the tracks (front) on the alsa hardware mixer was turned down to about 50%. There’s no way to see this through the gui. The only way to fix this is to run alsamixer in a terminal like this:

$ alsamixer -D hw:0

This will bring up a bunch of bars representing all of the mixer tracks available on the hardware device. After turning all of these up to 100% and exiting alsamixer (press ESC), everything was working perfectly again.

Hopefully this will save someone stuck in a similar situation from a few hours of headbanging.

]]>http://blog.chris.szikszoy.com/2008/12/howto-fix-low-system-volume-on-ubuntu-810-intrepid/feed/15GNOME Do VirtualBox Pluginhttp://blog.chris.szikszoy.com/2008/11/gnome-do-virtualbox-plugin/
http://blog.chris.szikszoy.com/2008/11/gnome-do-virtualbox-plugin/#commentsTue, 25 Nov 2008 00:06:39 +0000Chris S.http://blog.chris.szikszoy.com/?p=32I’ve been meaning to write about this for a while, but just now made the time to actually do it. I’ve been following the development of GNOME Do for a while now. After playing with it for a while and learning how fast and easily things can be done with GNOME Do, I decided that I should write a plugin for the project.

I’ve been using VirtualBox a lot recently, mostly for programming and testing applications on different platforms, without actually having to restart my laptop. After I saw that there was no VirtualBox plugin, I thought that this would be the perfect plugin to write.

After a couple weeks I have built a nice, stable GNOME Do plugin for managing VirtualBox virtual machines. The plugin allows GNOME Do to perform actions on your saved virtual machines. The plugin will index the current state of your VM and only allow you to perform relevant actions as well. For example, if you have a VM that’s currently powered off, the only actions Do will show you are to either turn on the VM or revert to a saved state (if there is one). For VM’s that are currently running, you can pause, turn off, save state, or take a snapshot. Dynamic modifier items also allow you to start a VM in either headless mode, or GUI mode.

I’ve made a small YouTube video showing the various actions that are exposed to GNOME Do through this plugin.

My plugin was finally accepted into the Community branch of GNOME Do’s plugins. I’m still attempting to get it into the official branch, as I’ve agreed to maintain it, and have gone through multiple code reviews to make sure the plugin meets coding and performance standards. Look out for this plugin to be available with the next release of GNOME Do.