Categories
Software

Why I Love LaTeX

My History with LaTeX

I have been using LaTeX and its variant (mostly pLaTeX variant, for doing Japanese documents) for about 10 years now. Back when I was in school, I have used to take a note in real time. (Back around that time, Org-mode was still about to be released. If I’d do anything differently today, I’d take a note in Org-mode, and perhaps export it to LaTeX or other formats.) I even negotiated, for some class, that I can submit assignments in PDF output from \LaTeX, which I did get favorable responses from all I asked. As a premise, most others submitted non-coding assignments on paper — some submitted electronically, presumably with Microsoft Word format. (How they can live with formula editor on Microsoft Word, is outside of my comprehension…)

Why You Should Use LaTeX?

To me, LaTeX is a superior document creation tool compared to other forms of document creation.

Flexibility in Toolchain

Essentially, working on a document using an office suite is pretty much take-all-or-nothing. If you are completely sold to an application software you are using, that’s great, but if not, you either have to continue working in an environment you are not satisfied with, or should you choose to integrate process using another method, such as alternative softwares — that’s when things get very awkward. While most of office suite applications provide some support for interfacing with other applications, which could be through set of APIs, or scripting, but because of the complexity of the software, customizing those environments could well be a full time job of its own.

LaTeX file is essentially a plain text format with markup. Any text editors can handle LaTeX files. If the editing LaTeX file, learning LaTeX commands are not your cup of tea, then there are many “IDE for LaTeX” systems you can use instead. One such application I’ve used in the past is called TeXnicCenter which provided menus and toolbar access to many of commonly (and some obscure) commands available in LaTeX. If you are being intimidated by the markup nature of LaTeX, you may want to try it, or many other editors around.

Because of a text based workflow, it integrates very well among other tools. For instance, I use Org-mode to create a document. Org-mode is a very versatile tool that can be used for many forms of data management and authoring. Perhaps because Carsten Dominik, the original author of Org-mode is an astronomy professor, Org-mode is designed so it works very well with LaTeX system.

This provides multiple export path as well. While I prepare a document as a document, the same document also can be used to output as an HTML page. (It is also worthwhile to mention that the HTML output from Org-mode is clean enough that it validates as XHTML strict.)

Clear Separation of Style and Contents

You may have come across the documents that are horribly formatted. I have seen a document that the heading was merely done by change of font size, spacing between paragraph being adjusted by an empty line of different font size; the list goes on and on. This comes from overemphasis of so called WYSIWYG (What You See Is What You Get) concept, where what you see on the screen is what you get as a result. For instance, when you print out the document, the result will be what you see on the screen. (While some may disagree with this notion, but it was premise as marketed back then.)

Even after sociological emphasis is shifted from circulation of document as a paper, and electronic transmission, collaboration, and management, mindset of users were never shifted, and as a result, poorly formatted documents are being produced, perhaps in a degree of hundreds of Terabytes per seconds world wide.

Bad formatting was, perhaps, acceptable when paper trails were the center of focus; after all, noone really cared how data that resulting print was originated from, as long as it is legible.

LaTeX in nature, often enforces document markups, which makes it much harder to do it wrong way. It is still possible to format document in LaTeX wrong way, but either makes getting what you want done more challenging, or will cause errors.

Better Version Control

LaTeX document is a text file, so the document can be version controlled as easily as computer program codes. Difference between version can be inspected easily. This is fundamentally different from how many of Office Suite applications record changes; essentially they are keylogger system where user actions are recorded into the document. If this feature is not enabled when the document is being written, or information is lost for some reason, recovering difference information between two document often provide inaccurate information. Moreover, merging difference from multiple sources are often very difficult because of the nature that style information often interleaved within the document.

Want Try It Out?

Installing LaTeX to your computer is easier than ever, as there’s installation package called TeX Live which includes most of programs you will need to get started. Depending on your preference, you may want also install aforementioned editing software, but your favorite text editors should do a trick.

Categories
Microsoft Opinions Software

Why Windows 8 Will Be Support Nightmare (Especially in Small Businesses)

Windows 8 offers a radically new interface for computers, with new features like new Metro (what do they call it now? Windows 8 interface?) and other features, or non-features like lack of the Start button.

So why this is bad for small businesses? Simply put, it is bad for small businesses, unless whoever taking charge of IT in the organization is a Microsoft fanboy. In the context of small businesses I’m talking here, it is a size of around 3 to 10. (If the company is small enough, that it is only by yourself, or with just one other person, this is probably less relevant as IT administration is more of personal user than business users.)

So what small businesses lack that bigger corporation don’t? Usually, it comes down to more unstructured, and unorganized IT policies and privileges.

To name a few:

  • Smaller companies lack well defined upgrade path. Upgrade happens whenever the system gets updated. If the company is not big enough to take advantage of volume licensing, upgrade paths are often tied to the system being replaced.
  • Generally speaking, smaller businesses do not have access to downgrade privilege.
  • IT human resources for small businesses may not necessarily be dedicated. They may be wearing more than one hat beside IT. This means skill set of IT staffing in smaller company may be motivation driven — for instance, one who are investing more time on Linux or Mac may not be willing to improve their support ability in the new aspect of Windows 8 even when they are already knowledgeable in general know how.

I am maintaining IT assets for company size of 4 people, and it has been already bad enough when I have to support iOS devices — often I have to resort to unhelpful response, “I don’t know, I don’t use iOS.” Being a LibreOffice user (with a copy of Microsoft Office 2007 installed on the VM for occasionally compatibility, that I rarely boots up) I am more comfortable supporting Microsoft Office 2003 than what’s offered in those “ribbon interface” which makes it very difficult to support the application as well. (After all, I consider myself to be a computing expert, not vendor expert.)

So, yeah, this is pretty scary when it is time to upgrade a machine in the office is newer device. Hopefully, configuration of those devices is close enough that Windows 7 would be enough.

Categories
Emacs Software

SKK Package

Since DDSKK’s official site is down for a week now, for those who needs installation file for SKK, I’ve created SKK package that can be used to install SKK. It has everything you need to install. This contains SKK package as well as some, but not all, dictionary files, as recent as two weeks ago.

Here is the list of dictionaries within this distribution:

-rw-rw-rw- 1 hideki None 14069 Jan 4 2006 SKK-JISYO.JIS2
-rw-rw-rw- 1 hideki None 3055 Apr 4 2007 SKK-JISYO.JIS2004
-rw-rw-rw- 1 hideki None 224791 May 19 14:00 SKK-JISYO.JIS3_4
-rw-rw-rw- 1 hideki None 4490621 Jun 8 17:10 SKK-JISYO.L
-rw-rw-rw- 1 hideki None 1388041 Jan 21 2011 SKK-JISYO.fullname
-rw-rw-rw- 1 hideki None 2857024 Feb 19 2006 SKK-JISYO.geo
-rw-rw-rw- 1 hideki None 629605 Feb 3 16:10 SKK-JISYO.jinmei
-rw-rw-rw- 1 hideki None 497649 Feb 19 2006 SKK-JISYO.propernoun
-rw-rw-rw- 1 hideki None 513848 Jan 4 2006 SKK-JISYO.station

Hope this helps.

Categories
Emacs LISP Software

Two New Micro Projects

I’ve consolidated various elisp scripts for Emacs I have publicized on Gist into a project, now called hideki-emacs-utilities. Also specialized anime terms SKK dictionaries are now available through skk-anime-dictionary.

Categories
Chrome OS Google Chrome Software Technology

The Chrome SSH client (developer version that supports certificates)

Trying Chrome SSH client (developer version that supports certificates) and it is very usable!

This works very well, and already replacing most of my SSH need.

This is a developer version of the SSH client for Chrome. (you first need to join Google Group for it before you can download it, I believe.)

 

Categories
Emacs LISP Programming Software

My Random Emacs LISP Scripts

I’m not particularly, LISPer, but I do code some Emacs LISP for my convinience. Just to pick a few…

  • Create Random Buffer is a script to create some random buffer. I’m actually wondering why something like this doesn’t exist as default. (well, there’s scratch buffer, but…) Useful for experimenting.
  • Anti-Space Invader is a simple script to make two spaces after period, because you should never do that.
Categories
Emacs Software Technology

Whitepaper: Org-mode at Sakura-Con

This article explains use of Org-mode in a context of convention management.

Who am I?

I am Japanese Guest Manager appointed by relations department of Sakura-Con 2012. My duty at Sakura-Con involves management of Japanese guests of honor for Sakura-Con 2012; everything related to Japanese guests, from schedule managements, human resources, to the field management of the team consisting of a little less than 30 managing 17 guests of honor and their associates — about 60 in total. The team consists of Japanese guest liaisons assigned to each guest as well as 3 of event interpreters assigned to events such as panels.

The team managed more than 80 hours of programming spanning three days as well as times outside of convention hours.

Objective

Managing Japanese guest relations at Sakura-Con involved multiple considerations. Here are some aspects of such managements:

Sakura-Con used its own scheduling system, which is mainly used to schedule events on the global calendar, thus making it possible to coordinate scheduling between multiple departments. You can imagine this as a big conference room scheduling system. Unfortunately, the way the schedule is presented and solely chronological and was very hard to glance. (It was better designed to see what time tables are open but not designed to follow what each resource are assigned for.) Japanese guest relations required customized solution as we had to need of further digesting this information.

Japanese guest relations issues schedule sheet which consists of formatted schedule for each guest of honor as well as staff. This process was assigned to one of my staff, however this had to be handled somewhat concurrently while schedules were being finalized.

Aside from liaisons, Japanese guest interpreters had their own assignment. It is because they were assigned to events rather than guests. This presents interpreters different set of requirements in their scheduling. As the schedule called for many events concurrently occurring but greatest number of such concurrency were constrained by available resources. This also had to be updated on the fly when pertinent changes occur in the scheduling process.

Sakura-Con 2012 particularly hired many new staff due to its number of guests. Each of member had to be accounted for their availability for as well as number of “checklist” for signing them up.

Each staff is assigned to guest to manage. Assignments are done taking their ability in account as well as their preferences.

Management Using Org-mode

During the preparation of Sakura-Con 2012, there were so many type of information to process. Because Org-mode allows variety of output from its org file, it helped to produce output necessary for consumption by our staff.

Schedules had to be constructed so it is easy to glance as well as to have detailed information within. To carry out this, under heading for each guest, information contained table of events, which contained name of the event as well as time (with inactive timestamps) and venue. I can then sort this table based on the time, which generates chronological time table to each guest.

Furthermore, the list required some more information, therefore, it would contain subheading which lists each event by its type, but alphabetically for easy lookup.
This heading had active timestamp. This allowed each of those entry to be exported as iCal calendar file; this file can then be used by interpreters to schedule their assignment.

The following is the sample segment from the real schedule: (Due to confidentiality issues, some of information from the example are eradicated and does not show real schedule of the convention.)

Org-mode sample used at Sakura-Con

Yes, this is probably redundant having two representation of same event, but given calendar output from table seems to be not possible, this was a middle ground I had to reach.
Also having these sectional event subheading means they could be marked with various TODO field. I used this feature to label status of each event to signifying events still requiring changes.

From this file, I could derive HTML output for printed schedule as well as calendar file for interpreter schedules.

Other than some errors originating from input mistakes, the process supported the preparation effort very well.

When the convention added a guest, it involved multitude of process, such as guest invitations. These were managed using mainly by checkbox on Org-mode, among with relevant information linked to. Again, all those information could be converted to HTML and other format for sharing.

Staffs are managed same way as guests, except they had different type of checklist. Their contact information as well as interview processes were logged and amended as the process continued. Staff directory was also published utilizing same data compiled in this process.

The Team Website

Utilizing same data set above, the team website containing guest schedules, staff information as well other miscellaneous information could be produced and maintained very rapidly. Utilizing smartphones browser, everything from guest schedule to assignment information could be referenced everywhere there are coverages. While being static site, onsite update to the contents were very simple. Backend featured Git and new revision could be pushed to update the site from local machine. This was mainly done by a laptop with Clear hotspot. I have also designed emergency USB thumbdrive which contains all the necessary tools (including complete version of Emacs, SSH, Git, etc.) which could be used to continue updating the site in the event that laptop would be out of order. Fortunately, I did not have to resort to use it.

The team website was not only utilized by the team itself, but its reference was expanded to entire department as well as relevant personnel outside of the department, logging more than 3500 requests on the convention week alone, which would have been additional inquiry to the department otherwise.

Future Considerations

Org-mode was an integral part of Japanese Guest Relations at Sakura-Con 2012. While model based on static webpage has worked very well for the purpose, perhaps I can perhaps develop or utilize frameworks that can parse org file input to generate format better fit for many of use cases.

Also mobile integration utilizing tools such as MobileOrg was not within the scope of the project, this is certainly something I will want to explore in the future.

Categories
Emacs Software Technology

Org-mode and Why You Should Consider Using It

Org-mode is certainly best one of many things I’ve discovered in first 2 months in 2012. Now I use it for anything from note taking, convention management, and even writing full report.

This was great discovery to me, that recently, I have been started a lot of things on the web as well as on more specialized platforms such as Chromebook rather than on traditional PC. Sure I will have to use some type of computer to convert document prepared in Org-mode, more about it later.

Binary Blobs Suck

I have been complaining about various binary blobs in the past. I expressed my hate anything from proprietary format, as well as winmail.dat attached to E-mails. (I’m still seeing that, albeit less often. Hey Microsoft, if you are seeing it push some Windows Update to everyone and get rid of that thing altogether.)

Classic examples are documents generated by any office softwares traditionally had this problem. It started to improve when standardization efforts such as OpenDocument and some sense Office Open XML are introduced in the market. This may have changed significantly in standardized to approach to otherwise proprietary formats that was (and still is) dominating the market, was was very important movement.

However, what these standardization efforts did not solve was accessibility problem. No matter how open those formats are, they would still require use of some extra piece of software, that requires degree of complexity than what you could attain using plain text. TeX (and LaTeX) has been around for years allowing plain text edit, but it was far harder to use than, although, I consider TeX/LaTeX being 100 times better way of creating documents than on Microsoft Word.

Org-mode being plain text, I can be editing the document everywhere: I can do it on PC, I can do it on Mac, I can do it on Chromebook (considering ChromeOS does not have any software packages it is bit cranky to do it with) and I can do it on my phone. Eventually, I will be relying on actual PC to convert, but being able to write documents is very useful aspect of Org-mode and mark up languages in general.

Structured Documents Made Easy

One thing I like about Org-mode (and also TeX/LaTeX) is that it enforces structured documents. I often across many documents E-mail to me that are horribly created document – heading being mere font size change, table of contents written as text, rather than auto generated based on heading information, because it lacks document structure information because of the above.

Sure some people are apparently smart enough to do this properly even when they are using Microsoft Word, but the point is that Org-mode enforces this with positive motivation. By making sure the document has proper format on Org-mode, it makes Org-mode much more useful, as it is outline processor, you will be able to organize contents more efficiently when it is structured.

Project Management Made Easy

Most of things I do at my work is project management. I used to use Microsoft Project, which after I’ve used it for while, I found it wasn’t necessary solution to the problem. Yes, it is perhaps good at making graph that wows management in some companies, but constraints it assume is not always in-line with real life situation. Unless you are working for perfect company, schedule slips, requirements change, which causes heck of changes to the beautiful chart you’ve made using those project management softwares.

Past few days, I have been working on adjusting events which involves around 80 hours of sessions – Org-mode helped this process such a breeze, because getting the big picture of dependencies was very easy with Org-mode.

And what best, is that reports can be generated to number of format for others to review, which is my next point:

Document Creation Made Easy

Once authoring of the document is completed on Org-mode, it is very easy to generate reports for others to consume. Be it HTML, OpenDocument, LaTeX, etc., all it involve is to export as those format.

It is even possible to create table contains dynamically generated field, much like you can do in Microsoft Excel. It’s like text based spreadsheet.

This creates seamless pipeline of information management to document creation based on it.

Shortcomings?

It is fair to say there are some shortcoming to Org-mode. For example, it is harder to embed diagrams on the document. (It’s not impossible, but the diagrams need to be created externally.) Documents involving heavy use of diagram and drawing are much better done in applications like Microsoft Powerpoint, Microsoft Visio, or LibreOffice Draw. (And please don’t do it on Microsoft Excel!) Other than that, Org-mode is very good all-round information management and document authoring tool.

Categories
Freenet Social Networking

Freenet’s Move to Social System

Freenet a “free software which lets you anonymously share files, browse and publish “freesites” (web sites accessible only through Freenet) and chat on forums, without fear of censorship,” is now making a move toward censorship resistant social networking system.

Freenet, essentially is a decentralized hard drive, with cryptographically implemented input and output controls — a person could push contents into Freenet, and other person can retrieve. With clever use of these simple systems, now BBS (Bulletin Board System), social network, and blog sites are emerging.

A BBS on Freenet is nothing new — external software called Frost is quite functional BBS that uses Freenet infrastructure. However, it has its own problem. First, it is external software. User has to go to Frost’s site and download the software. While not difficult, it introduced extra burden on users’ side that they have to have this software to access to the system. Secondly, Frost is not very resistant to spamming.

Freenet’s new Freetalk integrates to Freenet interface, and will be ready to use when Freenet is available. (as long as it is enabled.) It works right on a browser.

Freetalk on Freenet

Combating against spam on Freenet is somewhat contradictory, as whole point of Freenet system is resist censorship. Therefore, Freetalk (and other items I cover in this article) uses scheme called Web of Trust. Web of Trust may sound familiar with one who has worked with OpenPGP softwares. It is essentially, trust system based on how peers trust others. With this system, while spam would be there, spammers will (inevitably) starting to receive low score, and can be filtered out. One thing to note is that Web of Trust system, unlike with OpenPGP, is pseudonym. A person can have multiple ID under Freenet’s Web of Trust, but origination of messages can be verified under this system.

Using this same basic system, there is a system called Sone (Freenet link) which offers Facebook/Twitter like system that allows users to have their own time lines. Visitors will be able to interact with posts by commenting and liking, just like on Facebook. While offered by third-party, it is implemented as Freenet plugin, which can be also used right on Freenet interface through the browser.

Sone

Blogging on Freenet, called Flog is not new, but there’s now a helper application on Freenet called FlogHelper. This allows you to setup Flog, as well as managing posts within. Visitor can reach through Freenet’s address. The picture below is a Flog by the developer of Freenet.

Flog by Toad

With those tools now available, Freenet is becoming true communication site, and will hopefully be providing censorship resistant communication, especially to countries like China where strong censorship is in place.

Categories
Google Chrome

A Call for Help Resolving Google Chrome Issue

Chrome BugI have been observing the issue with Google Chrome mainly on Mac OS X, that in some instance, the browser would show wrong URL and page title.

For instance, the screenshot on this page shows problem — the page I’ve navigated was creativecommons.org, but page title shows “New tab” (my UI is set to Japanese, thus showing it in Japanese) as it also shows chrome://newtab. Reloading this page would cause new tab page to load, and forward and back functionality will function as if it was on the page display on the URL displayed. (If navigated slashdot.org then cnn.com, and then navigated to creativecommons.org — if the bar says http://www.cnn.com/ then refreshing will refresh to cnn.com, back button will put you back to slashdot.org, and once you are back to slashdot.org pressing forward button will cause cnn.com to load. I observe is this can happen in any pages, and persists until I kill the browser process of the page instance. As annoying this could be, this also carries security implication, as one could be navigating to website for bank, and if they have navigated to possible phishing site, the browser still will show URL and title for the bank. So far I have observed this issue on Mac OS X, but it might be happening on other operating systems, too.

I reported this as issue 82073 (may not be visible as it is security issue) however was told they won’t fix unless I have repro step. As I feel it is very critical issue, I would like to see if I can provide them repro step, and the first step is to find out if there are any patterns. However, so far I haven’t found the cause yet.

If you happen to see this issue, please let me know of your environment, URL of the site affected, browser version, extensions installed, as well as any operations you have been doing when you observed the issue. As the security bug, if Google is to offer bounty on it, I will see if they’ll be able to split it among contributors, and if not, I will refuse such payment and have it donated to charity. Main thing is that I want this to be addressed.

Thank you for your help in advance!