Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
User Journal

Journal: Qt Ambassador Care Package

Journal by N3Roaster

A while back I got an email from Nokia letting me know about the Qt Ambassador program. So, I sent them some information on a program that I wrote using Qt and someone there must have thought it was neat since they sent me a very nice gift.

User Journal

Journal: Typica 1.3 Released 1

Journal by N3Roaster

Typica is the result of an internal data systems project at Wilson's Coffee & Tea which I started several years ago when paper roasting records and spreadsheets were no longer adequate. The first public release (Typica 1.0) came out in 2008 and further development continues. The program can record roasting data, track coffee inventory, save cupping data, and produce reports. Source code and a Windows XP (it might work on more recent versions of Windows, but I have no way to test that, we're a Mac/Linux shop) release of Typica 1.3 is now available. The Mac version and additional documentation will be available soon. Linux users are expected to be able to compile it themselves.

http://www.randomfield.com/programs/typica/

Now, why post about this on Slashdot? Typica is an especially nerdy data logging application. The program is freely available under the MIT license and runs on Mac, Windows, and Linux. It uses PostgreSQL as its data store and a number of abstractions from Qt. The program is written in literate C++ and sets up the user interface and application data flow based on a combination of XML and Javascript. This allows for the rapid development of new features and the creation of custom configurations to meet the needs of other coffee firms.

The cupping session handling is especially unique. A sample can be associated with any annotated point on a roast profile. This makes the program particularly useful for developing new roast profiles as several samples can be pulled at various points in the roast and each of these samples can be added to the cupping session.

User Journal

Journal: I Made Money on Twitter 2

Journal by N3Roaster

Late March I checked the balance of my accounts with TCF Bank and I noticed something a bit odd. There was a "Monthly Maintenance Fee" in the amount of $9.95 on one of these accounts. This is something that I had not seen before on an account which had not charged such a fee in the more than a decade I'd held the account. I thought this must be an error. After all, what could they possibly be maintaining at a rate of $119.40 per year? I had a couple paychecks that needed I needed to deposit, so I went to the bank and asked about it. The explanation was that they were trying to keep money going into the bank and produced some bizarre requirements to avoid this surprise fee, but what it really came down to was that it's a fee for nothing other than TCF Bank being greedy and thinking that they can get away with pulling a stunt like that. Having established that they were out to screw over a long time account holder, I closed all of my accounts and took my money to Educators Credit Union.

While all of this was going on, I posted the story on Twitter (you can follow me @N3Roaster if you want). Yesterday, I found in the mail a VISA gift card with a note from ECU thanking me for tweeting about firing TCF and going to ECU instead. The gift card was for $10, which puts me ahead on this by 5 cents. I guess it is possible to make money on this Internet thing after all.

User Journal

Journal: Photographs 2

Journal by N3Roaster

Lately I've been taking some of the non-work related photographs I've taken, sticking them online, and posting a link on Twitter. I've finally gotten around to putting together a page to properly link to those pictures with thumbnails and a little text. The link is here for the benefit of Google, but I won't be offended if humans follow it.

Random Photography

User Journal

Journal: Ad-free Slashdot and What to Charge for Free Software

Journal by N3Roaster

Today's been a pretty good day. Well, except that my neck aches. I must have slept on it strangely.

I wake up and there's an email from someone who wants to send me money for some free (MIT licensed) software that I've written (in an unholy combination of C++, Javascript, SQL, XML, Metapost, and TeX). I wonder, if I'm getting money for it, does that mean that I can't embed XKCD comics in the source code documentation (yeah, that's the real reason for doing literate programming. I mean, sure, my productivity tripled and I can look at old stuff and figure out how to make changes more quickly, but that pales in comparison to being able to include comics about stick figures), despite the fact that I haven't tried to sell it? I'm also left wondering what's a good price to charge for free software. Sure, I could look at what the commercial competition is charging, but my program doesn't really map to any direct competitor (if I could have purchased it, I wouldn't have had to write it in the first place).

Then, I look at Slashdot after lunch and see a little box saying that I can turn off the ads. Now, I don't use any ad blocking software. If the ads on a site are excessive, I just don't go to the site. I didn't really have a problem with the ads here, except for those square ones on the right that would sometimes stick out and cover the summary text. Those were annoying when they did that, and if I have the option to turn off the broken ads, well thanks. I'll do that.

Printer

Journal: XeTeX OpenType Names on Mac

Journal by N3Roaster

I decided that I'd try out XeTeX since it seemed like it would be the easiest way to use some of the fonts installed on my system with TeX (Plain TeX, I'll look into LaTeX later but I use that less). Following an example from the XeTeX site, I try to put together a quick little document to see if I understand font selection properly and... well, some of the names that I try work and some of them, not so much. After a little searching, I came across a partial solution which I'm posting here in hopes that future searchers might find a working solution faster. To get a list of usable font names for OpenType fonts, use this:

$ otfinfo -i /Library/Fonts/*.otf | grep :Full -

At least on my system, every name listed with that works in XeTeX with \font. That doesn't get you TrueType fonts. A list of installed fonts (which will include all of the fonts listed with the above command plus non-OpenType fonts) is available through the Font Book application, but the font name given there does not always work. Fortunately, so far I've only noticed this on Plain styles which means that just using the family name works.

Programming

Journal: Combining CWEB and Doxygen

Journal by N3Roaster

Yesterday, an idea crossed my mind. I enjoy using CWEB when writing programs. I also like the documentation produced by Doxygen. Is it possible to write one set of source files and get the benefits of CWEB and a pretty source code narrative while also getting API reference documentation out of Doxygen? A quick search didn't get me anywhere, so I sat down and figured it out.

On the face of it, these two systems seem incompatible with each other. Doxygen won't read the source files used by CWEB. It will read the output of ctangle, but that program strips code comments which Doxygen needs. There is, however, a command available that forces text to be included in the generated source file verbatim. If the source file contains text such as:

@=//! Doxygen can see this@>

the comment will end up in the output from ctangle. Unfortunately, cweave also understands that command and will display the comment with an ugly box drawn around it. This is particularly bad with the multiple line comments common for use with Doxygen. Doxygen markup is usually not interesting to someone reading the output from cweave, so it would be better if this could just go away. If we restrict these comments to the form above, this is easy enough to do with sed:

sed 's/@=\/.*@>//g' input.w > output.w

With this, input.w can be run through ctangle to generate a source file for use with gcc and Doxygen while output.w can be run through cweave.

User Journal

Journal: Random Field

Journal by N3Roaster
This isn't really news (which is why the story has not been submitted for front page consideration), but I've noticed that Google indexes my posts here nicely so I'm throwing up a link to a new site that's coming soon. Random Field. Don't bother following the link unless you're a bot. There's nothing there yet. If you're a human, sorry for wasting your time.
Education

Journal: Coffee Museum in Jimma 1

Journal by N3Roaster

The Ethiopian Herald (link via allafrica) reports that a new coffee museum will be opened in Jimma with the goal of commemorating the region's history of being where Coffea arabica was first discovered and turning Jimma into a tourist hub by the millenium (is this a mis-reporting? Looking out to 2999-3000AD seems like an excessively long term project).

The museum is expected to cost 2.5 million Ethiopian birr. When I was in Ethiopia early in 2006, the exchange rate was about 8 birr to the U. S. dollar, so this comes to about $312,500, fairly cheap for a museum.

I visited Jimma briefly last year. I had hoped to visit a coffee research station while I was there, but my timing coincided with a holiday celebrating a battle in which the Ethiopians kicked out the Italians during World War 2.

Technology (Apple)

Journal: Apple Updates Security Update

Journal by N3Roaster

Today Apple released a new security update for Mac OS X. This is an update to the last security update previously discussed on Slashdot. Many users of older Macs with the original AirPort card discovered that the previous version of this update caused wireless networking to fail when waking from sleep, an issue specifically addressed in the new version of this update.

Isn't this the sort of problem that should not happen when one company handles both the hardware and the operating system?

Space

Journal: Yes, Pluto is a Planet

Journal by N3Roaster

There's been a lot of talk about Pluto lately and how it's no longer a planet. It has been reclassified as something else. I've heard dwarf planet and irregular planet as the new category. So, no, not a planet.

But that's absurd. Now, I'm not going to trot out some argument that I learned that Pluto is a planet and I'm not going to unlearn that. Rather, it seems that Pluto is still classified as a planet.

Huh?

Yes, that's right. Pluto is still classified as a planet. It seems to me that dwarf and irregular are adjectives. In this case they modify the noun planet. I haven't consulted a dictionary, so I may be completely off on this, but it seems that neither of these adjectives mean "not" and under such an interpretation, Pluto would still be a planet. It would be a special sort of planet, but hasn't Pluto always been a little special?

Perhaps this argument is a little technical, so here's a more down to Earth example. Suppose I have a box. The box is red. Now I can call that a red box. Now suppose somebody were to say that my red box weren't really a box at all. It's something completely different. After all, it's a red box.

Absurd, right? And that's exactly what's going on with Pluto.

So, Pluto is still a planet. Nothing to see here. Please move along.

User Journal

Journal: With Trusted Computing, the Terrorists Win

Journal by N3Roaster

Trusted Computing (TC) cannot be allowed to become a reality unless it can be easily bypassed with no loss of functionality (in other words, TC must fail due to infeasibility or poor design). I say this not because I want a choice in what I do with my computer. I say this not because I believe that I should be able to do anything I want with bits stored on my hard drive and in my RAM. I say this because if TC emerges in the way its backers envision, it will become a powerful and unstopable tool in the terrorist arsenal.

A major selling point for TC is its potential use in Digital Rights Management (DRM). The idea of DRM is that the distributor of digital content such as movies, music, and books, can provide rules for how that information can and (more importantly) cannot be used. It is a technological solution to the social problem of copyright infringement. That DRM can also trample on fair use provisions of copyright and is potentially inflexible to changes in legislation is beside the point. A TC DRM solution gives media distributors the ability to decide which programs are trusted to restrict what a user is able to do with that media.

Furthermore, TC can be used to enforce software that is used on a subscription model. It allows software to determine if its subscription is current and if it is not, the software no longer runs. Again, this can be used to prevent people from infringing on the copyright of software companies.

This is a potentially powerful and enabling tool for companies of all sizes and the potential for new markets it brings can only be imagined at this stage, but it comes at a prohibitively high cost.

A terrorist network would be able to distribute its plans and correspondence much more effectively and with no chance of interception by law enforcement and intelligence agencies. Terrorists would be able to ensure that any material used in planning an attack could only be viewed with a registered copy of Terrorscape. Copies of Terrorscape that might fall into the hands of law enforcement could be remotely disabled within the terrorist network. Worse, this software could, rather than simply fail to work, provide vast quantities of detailed misinformation to strain the ability of nation states to provide security against these false threats, weakening their enemy without need for an attack at all.

Governments, including the government of the United States of America, are actively pursuing this technology because they see the potential benefits without being made aware of serious danger it poses to free and democratic societies. The advantages this technology provides to terrorist and organized criminal organizations cannot be overlooked.

If you value a free and democratic society, I urge you to write your representatives in government and make them aware of the extreme risk in allowing the development of trusted computing. TC must be banned and continued development halted because if TC becomes a reality, the terrorists win.

I've got all the money I'll ever need if I die by 4 o'clock. -- Henny Youngman

Working...