All entries
Earlier I blogged about Epresent, which is basically a piece of code for making Org-Mode suitable for preparing presentation slides. There are times when I can’t resist mentioning the innovative Racket programming language in a presentation. In those situations I tend to want to have syntax-highlighted Scheme code on my slides, and also to evaluate the code snippets and insert the results next to the code listing. This is apparently the sort of thing one can do with Org-Mode Babel, for a variety of languages.
Read more...
Written on Thu Sep 08 20:35:15 2011 UTC.
Tagged as Babel, Emacs, Epresent, Racket, Scheme, presentations, software.
Text rendering in Emacs has been looking mighty good since 23.1, and this opens up possibilities to do even more in Emacs. For example, I recently came across something called epresent.el on GitHub, by Eric Schulte et al. The epresent.el Emacs Lisp file leverages Org-Mode to implement a simple presentation mode for Emacs. Using Org-Mode is, at least for me, faster than struggling with something like OpenOffice.org Impress.
Read more...
Written on Wed Feb 23 18:18:37 2011 UTC.
Edited on Fri Feb 10 20:59:57 2012 UTC: Changed link to point to latest code on GitHub.
Tagged as Emacs, Epresent, presentations, software.
C++ is a good language in that it is widely supported and has a large ecosystem around it. As a result, it has a large number of libraries, including extensive cross-platform frameworks (such as Qt). There are also entire operating systems written in C++, of which Symbian is an example.
All of this provides ample motivation to use C++ (or at least its libraries) from time to time.
Read more...
Written on Fri Jan 07 16:33:02 2011 UTC.
Tagged as C++, CoffeeScript, IDE, JavaScript, programming languages, source-to-source translation.
Some days ago I released a little code generation utility that I have been using for well over a year in cranking out repetitive C++ code. Koog is—for lack of a better established term—a mixed-code generator. It is similar to other tools of its kind (such as Cog), but the only one that I know of that uses the Scheme language for specifying what code to generate.
Read more...
Written on Tue Sep 28 17:58:24 2010 UTC.
Tagged as C, C++, HIIT, Scheme, Symbian, code generation, software.
I wrote a technical report about the
ContextLogger2 software that I’ve been working on at
HIIT of late. The direct URL and other publication details can be found from
this page. The entire series of electronically published HIIT technical reports is available from
here.
Written on Sat Aug 28 15:53:34 2010 UTC.
Edited on Mon Sep 20 22:41:32 2010 UTC.
Tagged as HIIT, S60, Symbian, publications, research, software.
I’ve tried GCCE version 4 before for building Symbian software, but have been somewhat put off by all the warnings it produces, mostly due to incompatibilities with the header files in the existing S60 SDKs. Well, I finally managed to get a working S60 application built with GCCE 4 without any warnings. Mind you, this was just one application, and not built with the full Symbian toolchain, but still.
Read more...
Written on Sun Aug 01 21:45:29 2010 UTC.
Tagged as C, C++, GCC, GnuPoc, S60, SDK, Symbian.
Symbian’s ABLD build system tends to produce a lot of output, especially when run with the verbose flag (-v), as I like to do to see the compiler invocations. Also, ABLD likes to run to “completion” despite individual build steps failing. The end result is that it takes some effort to look for the errors and warnings in the output.
Read more...
Written on Fri Jul 30 18:54:01 2010 UTC.
Edited on Sat Aug 07 21:09:32 2010 UTC.
Tagged as C, C++, GnuPoc, Ruby, Symbian, build systems.
Earlier I wrote about a problem with restoring data to my Nokia E71 after a firmware upgrade. Well, there was also another problem. Once again, I started getting the “Untrusted software found on memory card. To install, go to Application manager.” complaint upon my Nokia E71 booting or otherwise mounting the memory card. Application Manager showed no applications marked as “Not installed”, and reinstalling the applications I tend to have installed didn’t fix the problem.
Read more...
Written on Sat Nov 28 16:39:52 2009 UTC.
Tagged as S60, Symbian, software installation.
The other day I gave a presentation on the history of the
programming language
Lua, in a
HOPL conference inspired seminar
course at TKK. If you asked a presentation expert, you’d probably
be told that the slides have too many words in them, but perhaps
that will make them easier to follow without the accompanying talk.
In any case, the
presentation
slides have been
posted on the web.
Written on Sun Nov 22 05:32:59 2009 UTC.
Tagged as Lua, presentations.
So I upgrade the firmware of my Nokia E71 from v200 something to v300 something.
Read more...
Written on Sun Nov 08 17:12:30 2009 UTC.
Edited on Sat Nov 28 16:39:52 2009 UTC.
Tagged as PIM, S60, Scheme, Symbian, software, vCalendar.
S60 3rd Edition has been out for quite a while by now, and for me, the one thing that has all but killed the pleasure of developing native software for the platform has been the humiliating wait—dismiss dialog—wait—dismiss dialog—wait—dismiss dialog—wait procedure during installation of the software being tested and developed. For one-off installations the installation procedure is no problem, but when you’re a developer it gets old real fast.
Read more...
Written on Sat Jan 17 09:50:53 2009 UTC.
Tagged as C++, PlatSec, Python, S60, Symbian, software, software installation.
Earlier releases of the Miso PyS60 extension had a take_photo function, for taking photos (without a viewfinder). This functionality (and more) has since then been integrated to PyS60 itself in the form of the built-in camera module.
Read more...
Written on Fri Jan 09 00:07:49 2009 UTC.
Tagged as C++, Python, S60, Symbian, camera, software.
Early last year at HIIT I hacked the Python for S60 inbox module to have it support querying for the content and metadata of messages in the device Inbox that have been sent via Bluetooth OBEX Push. (The built-in inbox module apparently only supports accessing SMS messages.) I changed the name of the hacked module to pyinbox, to avoid conflicts with the built-in Inbox access module.
Read more...
Written on Fri Jan 02 17:55:22 2009 UTC.
Tagged as Bluetooth, C++, Python, S60, Symbian, software.
In the PDIS project at HIIT we developed a socket library for Python for S60. The library consisted of both a native extension and quite a bit of Python code. The native extension was called aosocketnativenew, and became somewhat well known as an extension supporting non-interactive Bluetooth discovery.
Read more...
Written on Sat Nov 29 11:51:56 2008 UTC.
Tagged as Bluetooth, C++, Python, S60, Symbian, sockets, software.
I am a big fan of Python’s keyword argument facility, and especially its support for *args and **kwargs function parameter declarations. *args and **kwargs capture any explicitly undeclared positional and keyword arguments, respectively, and this facility in many cases allows one to avoid repeating function interfaces. This is both less typing and more future proof, and makes it easier to see the parameters that directly concern a function. Contrast this with Java, which not only has no keyword arguments, and no support for *args style declarations, but which also forces you to repeat caught exception declarations in function signatures.
Read more...
Written on Sat Nov 15 09:57:26 2008 UTC.
Tagged as Python, Scheme, keyword arguments, macro systems.
There are a few Symbian software authors who occasionally write a piece of Symbian code, possibly with no intention of ever touching the code again, package it up as a SIS file, and then “fire and forget” that SIS file to some web site in case someone should find it useful. Or forget until such time that someone complains about the SIS file having been expired.
Read more...
Written on Thu Oct 16 00:49:02 2008 UTC.
Tagged as PlatSec, Symbian, software installation.
The certificate used to sign v1.08 had expired, so created a longer lived one with openssl, and signed with that. Added the backup registration file while at it, as it had been missing from previous 3rd edition releases.
Written on Fri Aug 08 23:25:34 2008 UTC.
Tagged as S60, Symbian, software.
The SDK API Plug-in package for S60 SDKs has quite a few interesting APIs, such as the Browser Launcher API and the New File Service Client API.
Read more...
Written on Thu May 29 15:45:54 2008 UTC.
Tagged as GnuPoc, S60, Symbian.
When designing socket code to be implemented in C, it may well make sense to first sketch out the design in Ruby. The Socket class provides thin wrappings for just about all of the relevant C standard library functions. There also is the fcntl module, and select in Kernel. The socket code can thus be just about the same in Ruby as it would be in C, but trying out different designs for say managing sessions in a server is much less tedious in Ruby.
Read more...
Written on Sun Jan 20 15:38:00 2008 UTC.
Tagged as C, Ruby, prototyping, sockets.