How to avoid that e-mails sent from Host Europe VPS arrive as spam?

When sending e-mails from a Host Europe virtual server (here: Virtual Server Linux), they can arrive in the receipient’s spam folder. This depends on the spam filter configuration of course, but did at least happen with a near-default SpamAssassin setup as available on Hostgator Baby Plan as of 2011-10 (valuating a mail with 7.2 points, while another default configuration only counted 0.5 points for that same mail). Some configuration is needed tofix mails being identified as possible spam.

The main problem, is are these SpamAssassin filtering rules, as indictaed in the e-mail headers:

1.1 FH_HELO_EQ_D_D_D_D Helo is d-d-d-d
1.3 RDNS_NONE Delivered to internal network by a host with no rDNS
3.2 HELO_DYNAMIC_IPADDR Relay HELO'd using suspicious hostname (IP addr 1)

The HELO_DYNAMIC_IPADDR rule

This is the main problem in this case, contributing 3.2 points. The SpamAssassin rule descriptions for this rule do not exist on the rule list page. But judging from similar rules, it appears to mean this:

“An untrusted relay uses a hostname in HELO that indicates a dynamically allocated IP address. (So this is different from RDNS_DYNAMIC by referring to the name used in HELO, not the RDNS record, though noth might be the same name.) Legitimate mail servers would usually be expected to have static allocations. This is determined by checking the reverse DNS name of that relay against a number of inofficial naming conventions. Reverse mapped names that contain sections matching strings such as “dynamic”, “dhcp”, “adsl” etc. may be matched by this rule, as may names that contain strings of numbers (like lvps165-624-87-23.example.com).”

The following sources have been used: SpamAssassin RDNS_DYNAMIC rule page and HELO_DYNAMIC_DHCP rule page, a bug report and a forum thread. With this interpretation it became clear that the SpamAssassin rule was triggered by the generic hostname used in the virtual server’s HELO, as indicated by this mail header (IP addresses are randomized):

from [43.151.120.12] (port=50581 helo=lvps43-151-120-12.dedicated.hosteurope.de)

To fix this, follow these steps:

  1. Think of a full qualified domain name to use as your hostname; for example, server.example.com, but not just example.com. The RDNS name you will set up later may or may not be the same as the server’s hostname; for simplicity, I recommend it is the same.
  2. Configure your DNS zone to resolve that FQDN to your server’s IP address. You will probably do this with Plesk on the Host Europe server (in Plesk 9: Home -> Domains -> [select domain] -> DNS settings). But maybe you use an external DNS service.
  3. Follow the Host Europe instructions to change the virtual server hostname permanently.
  4. Ensure that this new hostname is used for HELO when sending mails. For that, just check how your SMTP server application on the virtual server identifies itself when contacting it with telnet on port 25 (for example: “telnet 74.161.120.13 25″) [source].

 The RDNS_NONE rule

This rule is triggered because a vanilla Host Europe virtual server does not yet have RDNS resolution. (It also is still triggered when configuring a RDNS name, as for proper RDNS resolution that name itself has to point back to the IP address used as input for the RDNS query.)

Host Europe knows about this, as they say in their FAQ that some e-mail servers will even refuse to accept e-mails from servers that do not have proper RDNS resolution [source]. And there are reports by customers at other hosting companies, reporting that incorrect RDNS setup indeed contributed to problems with mails arriving as spam [example].

The requirement for proper RDNS resolution is that an IP address resolves to a PTR (“RDNS name”) that itself resolves to that same IP address (via an A record). How to set this up on a Host Europe virtual server:

  1. Choose a fully qualified domain name as your RDNS name. We proposed above to re-use your hostname as the RDNS name.
  2. If you did not chose it to be the same as your hostname, make it resolve to the server’s IP address. In the case of your hostname, you have already done that above.
  3. Follow the Host Europe instructions to change the RDNS name in the customer information system.
  4. Wait for your changes to become effective. This may take 48 hours or a bit longer to propagate through the whole Internet [source].
  5. Check that your RDNS resolution works correctly now. According to [serversupportforum.de thread 124291 post 11 and thread 124324 post 12], do this:
    1. Check resolving from IP address to PTR (“RDNS name”): dig -x 217.79.215.140
    2. Check resolving from the determined PTR (here, bundestag.de) back to IP address (here, must be 217.79.215.140 again): dig bundestag.de

How to use KiCAD to create wiring diagrams?

While a schematics capture application is more targeted for PCB circuits, it can also be great for wiring diagrams. Here are some tips to get the most out of KiCAD for that purpose:

  • Wires cannot be annotated with name/value pairs in KiCAD. But you can create a point-type “wire meta component” yourself, maybe looking like a small dotted circle line. You can then place it as the center of every logical wire, and connect its both pins to the pins of connected devices. Now you can add meta information to your wire, and also display these as fields in the logical middle of your wire: wire color, crosssection, cable type, special requirements for chemical and heat resistance etc..
  • KiCAD will display all wires in the same color. So in case you rely on wire color for wire identification in your project, the resulting wiring diagram will be hard to read for (visually) for working with your physical project, even though the wire color can be displayed in a field (see previous tip). For that reason, better use wires only to encode the general role of a wire (like red for all positive power supply wires, black for the negative ones). And rely on wire ID numbering for identification purposes. There are many commercial products for adding these numbers to your wires also after installing them (like cable flags, or as a more durable solution, cable ties with 10×2.5 mm label field). You can add these wire identifiers to the fields with the pin descriptions of your components, maybe using a vertical bar “|” to separate wire ID and pin name / number, and place the wire ID on that side of the field more to the edge of the component.
  • Even if KiCAD could display different wire colors, wire IDs would still be needed if you use buses, because a bus could contain two wires of the same color so that tracing them in the diagram would be impossible. And you should use buses, they are a great means for tidying your wiring diagram up optically. Especially, use buses for all multi-core cables in your application, as these are a sort of “physical buses” anyway.
  • Use the KiCAD “Edit -> Find” functionality to find dsired elements in your wiring diagram quickly; this adds a good deal of interaction to your diagram. You should design your IDs for wires and components, and everything else that appears on labels in your physical product, in a way so that every such string is unique. This makes searching through the diagram more comfortable, as you know that the first (and only) result is the one you are looking for.
  • Look through kicadlib.org to see if you can locate useful components not already in your locally installed KiCAD libary.

 

What open content Unicode fonts can be recommended?

We now have quite a good variety of free software Unicode fonts available, as can be seen from the Wikipedia free Unicode fonts overview. With that comes the difficulty to choose. So, here is my analysis in the context of searching a complete set of great free fonts for writing a thesis document:

My recommended fonts

  • DejaVu Sans. Its web home is dejavu-fonts.org. Recommended to be used as the main font for the document (except you insist on a seirf font). Because, this font has great Unicode coverage and free software licencing, and as a unique feature among comparable fonts like FreeSans, it comes with  a “Light” variant. What is really missing for now is a “Light Condended” variant, however.
  • Liberation Sans Narrow. Even more condensed than Liberation Sans, which is already more condensed than DejaVu Sans but comparable to DejaVu Sans Condensed. So it can be used as a “really condensed” font in replacement of a missing “DejaVu Sans Light Condended”, increasing the possibilities of document formatting. The downside is, this font lacks good Unicode coverage, so it can only be used for normal Latin text, not formulae etc..
  • FreeSerif. A good-looking, free software licenced serif font with huge Unicode coverage.

My not-so-recommended fonts

In alphanumeric order.

  •  CM-Super Sans. Like Modern Sans, this is also a PostScript Type1 conversion from the TeX Computer Modern font. And therefore, it is really good-looking. However, if any of these TeX fonts would be used, Latin Modern Sans would be preferrable.
    Because its Ubuntu package lmodern says in the description: “Their size is reasonable and they are usually considered to be of good quality (compared to cm-super, for instance; however, cm-super contains font families that have no equivalent in this package; additionally, there are character sets that are supported by cm-super and not by the Latin Modern fonts).” In addition, Wikipedia confirms this: “Other PostScript-based replacements exist such as BaKoMa, CM-super, or Latin Modern, instead of the original METAFONT-based Computer Modern. The Latin Modern implementation, maintained by Bogusław Jackowski and Janusz M. Nowacki, is now standard in the TeX community and was made through a METAFONT/MetaPost derivative called METATYPE1.” [source]. An advantage over the Latin Modern fonts is however that they contain fonts for all font sizes [source].
    Corresponding Ubuntu packages: cm-super, cm-super-x11. But for some reason, this does not make the sans serif font available to X11, or maybe not even install it.
  • DejaVu Serif. For my taste, this font has a very bad look for a serif font.
  • FreeSans. Comparable in good look to DejaVu Sans; FreeSans is just a bit more condensed. Comparable Unicode coverage as DejaVu Sans. However, this font lacks a “Light” variant.
  • Latin Modern Sans. This is a PostScript Type1 conversion of the LaTeX Computer Modern font. As it’s coming from TeX, it’s definitely the best-looking free software licenced sans serif font [text examples]. However, it is not recommended here because it lacks sufficient Unicode coverage.
    • Corresponding font names in LibreOffice: LMSans, LMSansDemiCond, LMSansQuot.
    • Corresponding Ubuntu package: lmodern.
  • Liberation Sans. This font is a bit more condensed than DejaVu Sans. Compared to DejaVu Sans, it misses the great Unicode coverage and also a “Light” typeface, which is the reason it was not recommended here. It has larger relative x-height than DejaVu Sans, which is said to make it less useful for large portions of text [source].
  • Liberation Serif. Good-looking, screen readable serif font. Already using another font from this family is one reason more to use this serif font instead of adding a font from a third family. However, this font lacks big enough Unicode coverage, and cannot be used for that reason.
  • Linux Libertine G. It is a way better looking serif font than DejaVu Serif, includes considerable Unicode support, but is less readable than Liberation Serif in small font sizes.
  • Lucida Sans. This is not recommended here because it is not available under free licences; it is just included gratis with Java. What’s interesting however is the Lucida Math font for formulae.
  • Nimbus Sans. Not recommedned to be used as teh default font because of lacking Unicode support and lack of a “Light” font weight in the free software licenced variant [source].

Technical note: If you are on Linux, do not check Unicode coverage of fonts with gucharmap, as it will simply take over non-available symbols from fonts that have them. Use the LibreOffice “special character” table instead.

How to back up a complete hard disk to compact size?

This is my current (2011-09) technique to create a compressed image of a complete hard disk and to restore it later. It works both for disks and partitions wth an operating system and with just data on it (it does not care at all what is on the disk). You should be able to restore it to any hard disk of at least the same size.

Technique using ntfsclone

ntfsclone has the advantage that it can supply zeroes for unused sectors on the fly, eliminating one step of the dd based process (see below).

  1. Start from a Linux live CD, such as Ubuntu, and execute this command (naming your hard disk to backup, here /dev/sda is used):
    sudo ntfsclone -o - /dev/sda | bzip2 -c > Backup.yyyy-mm-dd.sda.raw.bz2
  2. Note that you can also back up just individual partitions. But then, you should back up the MBR and boot loader separately, and the partition table also in text format. For that, see:
  3. For uncompressing later, use a command like this:
    bunzip2 -c Backup.yyyy-mm-dd.sda.raw.bz2 | ntfsclone --overwrite /dev/sda -

Technique using dd and gzip

This involves an additional step for manually zero-ing unused disk space. Also, using gzip instead of bzip2 yields less effective compression, but is faster. You can however supply bzip2, bzcat and bunzip2 for every call to gzip, zcat or gunzip; their parameter usage is compatible for our purposes.

  1. To achieve good compression ratios, it is advisable to fill unused space of the disk to back up with zeroes (or ones or any other kind of redundancy). Please do not do that when trying to rescue defective disks and partitions, as you would lose potentially valuable data in unallocated space on your original disk. There are several techniques for that:
    • In any kind of file system, when using Linux, you could create a file that is as large as possible, consisting only of zeroes, and after that delete it again:
      dd if=/dev/zero of=fillfile.raw bs=8M; rm fillfile.raw;
    • If it’s about a NTFS partition and you can use that in Windows, you could use Microsoft’s SDelete. However, when trying it out in 2008 by using “sdelete -c -p 1 c”, it gave me this error message: “Cannot clean free space for UNC drive.”.
    • Again, if it’s about an NTFS partition in Windows, you can use Eraser. In version 5, you could configure an own pattern (just zeroes) to overwrite unused disk space. In version 6.0.8 at least, this is no longer immediately possible. The developer advises to use the “HMG IS5 Baseline” for that, as it would do just that task of overwriting once with zeroes [source]; but in my test, this failed (no meaningful compression ratio afterwards). You can still create an own erasure method according to page 15 of the user manual though [source]. Also note, to be able to erase unused disk space when running it in Windows Vista, you need to run Eraser as Administrator user. For that, close all Eraser instances (no Eraser tray icon must be left!), right-click the Eraser desktop symbol and click “Run as Administrator …” [source].
  2. Now connect the hard disk to back up as a second or external USB hard disk to a Linux system, boot its installed Linux system, or boot into a Linux Live CD such as aUbuntu.
  3. To back up the hard disk to a gzip-compressed image, use this command (naming your hard disk, here /dev/sda):
    dd if=/dev/sda | gzip -c > Backup.yyyy-mm-dd.sda.dd.gz

    On a 1.3 GHz Pentium 4 processor, this produced a throughput of between 3 MiB/s of hard disk raw data (at the start of the hard disk where compression was difficult) and 10 MiB/s (at the end of the hard disk where the all-zero area was located).

  4. Using “kill -USR1 <pid>”, supplying the process ID of the dd process, you can look at the progress of the command.

  5. For restoring from the compressed backup, you would do this:
    sudo zcat Backup.yyyy-mm-dd.sda.dd.gz | dd of=/dev/sda

    Or if you want a more exact pendant to the compress command, use this:

    sudo dd if=Backup.yyyy-mm-dd.sda.dd.gz | zcat | dd of=/dev/sda
  6. Using the “seek” option of dd, or using cat, it should be possible to split the created file into several ones (for example, to burn them to several DVDs). However, I did not try that out. What definitely works is burning one backup file to a DVD-ROM (e.g. a 8 GB double layer DVD-R). Previously, there were some fixable problems with files >4 GiB on DVD.

Non-working alternatives

The original problem had been rather to back up a complete hard disk using Windows on a  ThinkPad T40. There were two options availale using IBM software, but both did not work (so the above method was used instead):

  • The software “ThinkVantage Rescue and Recovery” should normally work as a solution. However, version 4.1 of it refused to install on a ThinkPad T40 because it thought the operating system is Windows Vista rather than XP.
  • Alternatively, “IBM Rapid Restore Ultra” from “Access IBM” should be a possible solution. Unfortunately, this is not possible either, because: to create the backup partition, a floppy drive is needed and it was not possible (even not by reinstalling that application) to select the option that would make a USB drive sufficient for creating the backup.

What time banking software can be recommended?

Background: alternative economy concepts

A financial-economic crisis (like this or this or this) makes us think what’s wrong with our economic systems, and search for alternatives. For example, one would search for grassroots ways to organize mutual service and exchange of goods without using legal tender, as the latter can be a scarce resource due to “personal deflation”, esp. in an economic crisis (that is, by being separated from any high-capacity money source of the society, e.g. by being self-employed and having only “poor” customers).

Interestingly, many alternative economic concepts have been developed long ago at concept level, but failed to receive public attention or achieve widespread application. For example, in the area of trade mechanisms and finance, I found several concepts that run for being a basis of an alternative economy:

  • LETS, the Local Exchange Trading Systems. Effectively, these are complementary currency systems on a local scale, where members exchange goods and services for LETS credit points. All members start with zero balance, and go below that by paying with credit points; which means, they have the role of a bank that does bank money creation. The value of goods and services is something to be agreed by the members, that is, normal market mechanisms of supply and demand apply. In principle, all LETS systems are confined to one city or small area (see e.g. this LETS list from 2002), as the credits are backed by just group trust (omnidirectional trust from one to all other LETS group members). This is, in my view, their biggest shortcoming. How do you transfer your LETS credits when you move, and even worse, how do you use LETS if you have a nomadic lifestyle? Also, the island-type of LETS, with no standardized infrastructure between them, severely limits its public visibility as one movement or system.
  • Time-based currency (see also time banking). Also called “time dollars”. While the bookkeeping is very similar to LETS, the difference is that noarbitrary unit (or a unit aligned to legal tender) is used to measure service contributions, but the man-hour of work time. This can, but needs not, be used to build egalitarian systems, where everybody’s contributions are valued equally. For an interesting early experiment from 1827, read about the Cincinnati Time Store. Currently, timebanks are normally local organizations just like LETS [see an international list of time banks].
  • Barter platforms. By these, I mean systems that are based on direct barter between two parties, or circular barter between three or more parties. But always so that a deal happens only when all parties at the same time have something that they can offer that another party in this deal wants. That is, they work without intermediate units of accounting, which would eliminate the need that (1) supply and demand are matched for every party at the same time and (2) somebody can only be part of a deal by both demanding and supplying something, as none of these can be replaced with currency. These severe limitations of direct barter make these platforms look quite unusable, esp. before reaching a critical mass of offers. Examples of such systems include the German portal Bambali.
  • Scrip. Alternative currency by simply writing some numbers on some paper.
  • Mutualism. An economic theory that seeks to value goods just by the amount of labour / resources needed to produce them, thus eliminating the concept of capitalist “gain” (price above cost) altogether.
  • And there is a list with many more articles on alternative monetary systems.

Interestingly, the proposal for a time-based currency even made it into a United Nations document (but note that the document was compiled by members of NGO’s when meeting for the Millenium Forum, so is no official UN resolution or anything):

“The Forum urges [...] [g]overnments [...] [t]o make serious commitments to restructure the global financial architecture based on principles of equity, transparency, accountability and democracy, and to balance, with the participation of civil society organizations, the monetary means to favour human endeavour and ecology, such as an alternative time-based currency.” [We the Peoples Millennium Forum Declaration and Agenda for Action: Strengthening the United Nations for the twenty-first century; United Nations document A/54/959,  adopted by the Millennium Forum on 26 May 2000; section "C. Facing the challenge of globalization: equity, justice and diversity"; this very section quoted here was contributed by John Turmel]

Choosing a time banking service or software

My interest in alternative economy is both at the theoretical and pragmatic level. On the pragmatic side, I desperately need a system to track neighborly help; because when doing that in larger-than-usual amount (say, 50 hours per month and more) and without payment of course, you better track what time you invest and what you get in return or you might eventually end up poor and exhausted.

So what I need is a time banking system. My detailed requirements, in order of importance:

  • Non-local. Not restricted to any local area, neither formally nor by informal expectations or average location of members.
  • Useful for a personal global network. As I will lead a nomadic lifestyle, the system should be useful within a global network of friends and acquaintances. There is no need that the system allows trade with all members of existing alternative currency systems, but that would be great of course. Trading with personal acquaintances is enough.
  • Modern UI. I simply can’t bear with web-sites coming with that pre-2000 look …
  • No fees. Transaction or membership fees are simply nonsense in an age of software and automation, where web-based services of similar complexity are all free.
  • No-barrier registration. No requirement for an interview, for subscribing and sending in stuff by snail mail. Immediate login after registration must be possible. Pseudonymous registration must be available.
  • Open source software. When installing own software, it should be free. When using a webservice, it should ideally be based on free software, too.
  • Well-known programming language. I’m happy with Java and PHP and also Ruby, as this allows me to modify the software efficiently when necessary, and to better diagnose problems.
  • Low maintenance. So the optimum solution would be using a web service; hosting software on an own server is possible but can be cumbersome to keep up.

Here is a short overview of the projects I found, with my evaluation. Note that I just looked into descriptions and demo versions mostly, so do not consider this my last word on this. By adequacy for the above requirements:

  1. Global Groups Exchange at CES. This is the only international and time-based exchange at the Community Exchange System. Seems like the ideal choice among the CES alternatives and the only one.
  2. Registering an own CES exchange. The Community Exchange System (see also in German Wikipedia) is a unique global network where local alternative currency systems like LETS and time banks can join. It provides them with a web based accounting environment, and also allows trading between the different groups (which all use their own currency). So the shortcoming of LETS and time banks of being “just local” is remedied that way! Registering an own group involves some administration efforts for that “own” group, but also allows more control and customization.
  3. Registering an own time bank at Tauschen ohne Geld. It seems to be possible to create a group there that uses work time as the unit of currency. However, the system is not international (German domain, only member groups from Germany, Austria, Switzerland). Also, it is not clear so far how trade between the individual groups works; it is supposed to use the Ressourcen-Tauschring (RTR) in some way. But like CES, Tauschen ohne Geld provides an e-banking environment to members. There seem to be no fees.
  4. Rivulet on own server. Ripple is a web-of-trust extension of the LETS system, avoiding the group trust necessity that keeps LETSs local. Rivulet is a Ripple server [source] written in Ruby, while the Ripple reference implementation RippleSite is based on Python [source]. RippleSite so far offers a quite simplistic UI, but Rivulet is said to support AJAX (but I did not test the features provided in the UI so far). So in all, I’d like to check Rivulet as my favorite Ripple implementation.
  5. OSCurrency on own server. The OSCurrency project is a Ruby-based implementation of the OpenTransact protocol [source], specifically targeted at building a timebank. Example and demo sites etc. can be found on the OSCurrency website.
  6. Cyclos on own server. Cyclos is an awesome, free and open source (!) software specially made for alternative currency banking. LETS, timebanks etc. can all be provided with a Cyclos installation, which acts as a website providing a central e-banking environment to all members. The project is very rich in features and seems to be the most mature software product in the area of alternative currencies as of 2011-08. It’s written in Java and runs as a Tomcat container, so installing can give you some trouble esp. if you already have a Tomcat with some web applications running. Be sure to check the Cyclos installation instructions.
  7. RipplePay account. Ripple is a web-of-trust extension of the LETS system, avoiding the group trust necessity that keeps LETSs local. RipplePay is the portal supported by the reference Ripple implementation, RippleSite [source]. While this portal has no vibrant community yet, it could still be used together with friends if one targets trading with them only anyway. However, RipplePay’s units of currency are bound to USD parity (while of course not needing real dollars to make payments). This makes orientation simpler, but would require a hack like an internal “15 USD = 1 hour” agreement to using it for time banking. This could of course be fixed easily when installing RipplePay on ones own server; but then again, I would prefer Rivulet, see above.
  8. Registering an own PicoMoney currency.  PicoMoney acts as a service provider that allows this, even for free. However, when issuing a time-based currency, the PicoMoney seems unfit to operate a LETS-type exchange network: there is only one issuer per currency, where issuing means, handing out some of the currency as an IOU (“I owe you”) statement in return for received services. This would mean that, to establish a network, everybody has to hand out an own type of currency that represents the time of just this individual. This would be still tolerable if PicoMoney would allow free conversion between these currencies, but this seems to be impossible in its current state. Note that PicoMoney provides an implementation of the OpenTransact protocol [source].
  9. Joining zeitbank.net. They seem to accept members without respect to their current location, but their activities seem centered around Munich. Also, the site is only available in German. Also, they require a membership fee of 36 EUR for an individual, per year.
  10. Karmagora. A great-looking global time-banking system. The only reason it is last in this list is, it’s still in private beta as of 2011-08.

Other alternative economy projects

That is, those I found to be interesting, but which are not directly usable or related to time banking. In no particular order:

How to write a thesis in FreeMind?

Note: This is a work in progress as it documents the experiences I currently make while writing the paper. So it might not present the optimum solutions yet.

Is FreeMind adequate for writing a thesis?

My last thesis was written in OpenOffice.org (now LibreOffice), and the one feature I really missed there was a comfortable way of moving notes, snippets and other parts of text around. Because getting a thesis done is, for a good part, just that: ordering and integrating notes and snippets that you wrote whenever you had an idea or insight.

Since that thesis, I became a FreeMind enthusiast, using it for nearly all my personal information management. It’s truly great in this “ordering notes” task because three aspects come together: it’s speedy enough in displaying and dragging even large mindmaps; it provides good optical clues for quick visual navigation in a huge hierarchical mindmap, making it mentally less strenuous to work with it (unlike scrolling text in OOo or using OOo outline mode); it provides great keyboard shortcuts for quick navigation and reordering of nodes in the hierarchy.

Looking for alternative mindmapping software, I found Semantik, a tool developed with just this purpose in mind: a mindmapper to write thesis-style papers. However, I found its current (as of 2011-08) version in several aspects more limited than FreeMind, while finding that FreeMind can be used in a way that comfortably emulates the more thesis-writing-specific features of Semantik.

Discussion on the toolbox

  • FreeMind. For sorting and writing the complete text part.
    • Configure your FreeMind key bindings for “Note Edit Switch” (I have F8) and “Show / Hide Note Window” (I have F7). Without, using notes instead of placing all content in the tree nodes is quite uncomfortable. But when writing a thesis, you might want to try putting the actual texts into notes, and having only the introduction or header in the tree nodes. The existence of a note is indicated by an icon in a node, and the note’s text is also shown in the node’s tooltip.
  • LibreOffice Writer. For finishing the formatting and for PDF generation.
  • Zotero. This is my current recommendation for a reference management tool for LibreOffice, see my evaluation of reference managers for LibreOffice. Of course you could try to use FreeMind itself for reference management, by treating references as just another type of “thesis snippet” that you organize with FreeMind. Sounds like a clean generic solution, but FreeMind is no all-understanding knowledge management system. You need a specialized reference management software, or you would have much tedious manual formatting and data collect work to do in FreeMind. Also, collaborating on a common bibliography would be difficult with this approach.
  • Zotero plugin for LibreOffice.
  • Zotero plugin for FreeMind. This does not yet exist, but might be needed to use Zotero with FreeMind. If it’s necessary, it has to be developed. TODO: Find out about hacks how to integrate Zotero with FreeMind without such a plugin, maybe using the FreeMind scripting system.

Process

With this toolbox and configuration, the process of writing a thesis seems to look like this in the end:

  1. Create a “thesis” mindmap in FreeMind.
  2. Create an “inbox” node in that mindmap and collect all your ideas into that whenever you don’t have the time to find a more appropriate place for them.
  3. Create an initial table of contents by mapping it to a hierarchical node structure in your thesis mindmap.
  4. Add notes, move nodes and rework your table of contents hierarchy until the textual part of your thesis is done. At least until nearly all reordering is done. Finishing the wording can be done comfortably in LibreOffice, too.
  5. Unfold the mindmap so that all notes belonging to TOC headings are visible, but not more. Then export to ODF format – the visible nodes will become the headings there, and thus will be included into the TOC when you add that to the ODF document.
  6. Open the ODF document in LibreOffice and finish the formatting. TODO: This especially needs transforming existing formatting done in FreeMind to LibreOffice style-based formatting. How can this be done efficiently?
  7. Export the document in LibreOffice to PDF format.

Boom and bust of faith

I made some interesting observations of analogies between faith and economy. Of which we can learn – this time, not for economy, but for faith.

The boom and bust cycle of economy is based on mass psychology. The boom happens when everybody (for whatever reason) hope that the economy will improve, and subsequently invest and consume, which in turn makes their hope be fulfilled as a self-fulfilling prophecy. On the other side, the bust happens because of pessimistic expectations of the future, for whatever reason, well-founded or unfounded.

The interesting thing is when and why the boom tips over to become the bust, and vice versa. In my opinion, the transition from boom to bust happens when any substantial group that takes part in the economy has “hoped too much”. Now when they finally notice that their expectations have been unrealistic (and they probably lost much money that they invested into companies and ideas now not rewarded by the economic situation), they lose all hope. This is unreasonable, but understandable, as human beings are in practice not really guided by reason and logic. What is further unreasonable is that their lost hope spread to the other members of the economy like an epidemia, and the now prevalent expectation that the economy will get worse will let just that happen.

Now, isn’t it just the same in faith? Christians definitely have reasons to hope. But they also can start hoping for things that God did never promise to us. Like that all the sick will be healed during this time on planet Earth. Now when people see good things happen in God’s kingdom, like being part of a great church or having a great time with God, or seeing prayers answered in a row: then people might, inspired by this, start hoping for even better things. That were not promised though. So they inevitably get disillusioned (and the longer they maintained their false hope before that, by all cunny means of self-delusion and psychology, the harder the disillusioning will be). And like in the economy, these people will lose all hope. They fall in a depression, in the worst case even in a Great Depression. This affects their relationship to God, but even worse, it affects their Christian brothers and sisters, which might now also lose hope. That would not matter much if it would be just disillusioning as well, but the problem is, people tend to lose also a part of their justified hope in God, and it might also affect people who did not harbor false hopes. As, they might become desparate about the bad conditions in the Church, where it is possible that people do harbor false hopes and go uncorrected for long times until finally falling into despair.

The good news is, the bust is not the end. In economy, people finally get to their senses and say: we need to move on with life. Let’s use our last pennies and buy some food. And as everybody moves out and again buys the essentials for life for their last pennies, the demand is back on the market, and the economy starts to improve. And then, when people realize this, they can regain some hope, and the boom is back. (Hopefully they don’t get too much of that hope, to avoid the next bust; but that hope has never come true yet … .)

Likewise in faith: when you’re depressed, on the ground, lost your hope on God, you will finally get to your senses and think: Wait, at least the basics are true: Jesus is my saviour, and that’s great. Then you might pray, experience some answered prayers again, again visit your church.

And there, you might even infect others with your new-gained young hope. And this – everybody regaining hope in God – is called: revival.

Blog by Category

Blog by Date