Organising ideas and writing with MindNode and Ulysses

Professional and amateur writers have several tools and methods when working, and the idea that the content is more important than the tool is always valid. It is up to everyone finding the best workflow, and working on short texts such as blogs, minor essays, I’ve found that having a structure ahead of the content can help when developing.

Mind mapping

One of the many tools used for connecting ideas, developing project requirements and GTD (getting things done) list is mind mapping. They are similar to paper and white boarding and post-it likes but with the advantage of being able to quickly move ideas around, erase, insert, annotate, export and share.

I am describing a flow using MindNode for macOS and iOS because files can be stored in iCloud and I can switch from my desktop to iPad and iPhone and draw everywhere (and it is beautiful), however there are numerous tools around similar, for Windows and online for use directly within web browsers. The topic is extensive, mind mapping can do a lot and I recommend checking out tools and ideas. And again, the best tool fits your workflow and blends in!

Using MindNode you can describe ideas in topics, sub-topics to several levels, design lists and annotate general idea of the text you are going to write.

I made a very simple example with an introduction node, few topics and sub-topics. The annotation to the right helps remembering ideas you want to develop later.

Once you are done at least with main structure of the text topics, you can export it using the markdown format. On macOS, save it to a file first that you can open or drag into Ulysses later. When using iOS, use the share sheet to select export to markdown format followed by the send to app and copy to Ulysses.

Writing into Ulysses

Ulysses is another writing tool that helps in organising writing in sheets that can be moved around, grouped together, and exported to several formats such as PDF, HTML, ePub and Word. Just like MindNode, it is very versatile, works with iCloud and both macOS and iOS, so you can seamlessly write in all those platforms. Ulysses uses Markup-based editor, which means, it gets out of the way when writing so you don’t waste time and be distracted by fonts, colours, rules and tons of features. It is still very powerful but because you don’t see and need to use all features right away. Just check it out some demo videos on their web site.

Back to simple writing, once you have Ulysses opened into a group you want to use, just drag the .md file from MindNode into it and you should get something similar to this.

Once you are editing the sheet, you can see main idea name from MindNode is added as header level 1 with a ‘#’ followed by the topics as second level ones and “##”. Any annotation on a node will appear as simple text below the topic where you can develop the ideas.

The last node level is added in Ulysses as an unordered list because that’s how MindNode exports to Markdown, so subtopic 3.1 and 3.2 are lists. However, you can fix this manually or make a hierarchical list in MindNode to all levels needed to overcome this before exporting. Simply, just add a 3.1.0 sub-topic and both 3.1 and 3.2 should be as third level headers added as “###” in Ulysses.

Now with main ideas ready you can start developing them within Ulysses, move between platforms at any time and iCloud synch should take of it most of the time. Ulysses has some statistics over the written material and an idea of time needed to read it. So those are useful for the ones with goals set.

You can add few elements such as pictures, annotations, footnotes and get it more complex depending on the type of document.

Exporting your work

Once it is completed there are several ways to follow, having a Word document produced, maybe for layout changes, pictures and others. You can use text export as simple text, markup, PDF and HTML and ePub.

You can publish online to regular WordPress web site, selecting one of your accounts, into a custom WordPress site if you host one and into Medium platform if you integrated Ulysses with it.

This text was written in Ulysses and published both into Medium and WordPress as an example. Hope it helps with writing ideas and mostly with the content instead with the tool set behind!


Tracking time in projects with Tyme 2

Tracking project time, personal or professional ones, expenses, transportation and reporting can be made easier with iOS and macOS app Tyme 2. Tyme 2 runs on both main Apple platforms making good use of iCloud synchronisation services which makes it practical to start some project on the road, make some quick entries or use stop-watch per project activity and update in more details back on the Mac or view project tasks information in a larger screen. Mac version is not required but is a good complement to iOS version. Newest iOS version also works with Apple Watch which I haven’t tried but could be useful on quick starting and ending some projects over stop-watch.

Project entry and classification

As you add new projects to Tyme, you can describe what they are, categorise them by type and choose different banner colours to highlight them. Projects can have a name and hourly rates and planned budgets, but not a long description. Once you have main projects listed and organised, you can add multiple tasks to the projects, add different bill rates and define time rounding and due date.

Sample iPhone project list

Entering tasks and activities information

Registering task usage can be done by the use of a stop-watch timer like feature or by manually entering information. Again, iCloud comes handy here as you can start the timer in a device and stop it on another and it is possible to run multiple timers if needed.

Sample timer

It is possible to create sub-tasks if it makes sense splitting them into more detail. Both tasks and sub-tasks support adding time entries which will help making the report later on. Once tasks are complete they can be marked as so and moved below in the list. The active tasks appear on the first rows. Once a project has all tasks complete, you can mark it as complete as well and projects can be archived as well moved away from the main project list.

Getting some reports

Once there are few project entries, around a week or month of time, a report can be generated in macOS or iOS devices showing time spent on each activity or task, total in projects and categories. Each entry can be marked as billed or as paid. The report can show either time incurred or revenue.

The reports on macOS can be customised to show revenue on graphics and breaks, less or more detail. Last you can review archived projects, unarchive them and delete them.

Besides reporting on iOS and macOS which are very helpful, all the information can be exported (on both platforms) in several formats, PDF, CSV, JSON, HTML, and database backup in case you need to move data to another profile or device, and several options about summaries, revenue, billed or not hours and notes. I find them very well organised for self-employed professionals bringing good-looking and honest reporting on activities.

Other features

I haven’t tested it but macOS version will integrate with third party plugins to transfer information to other apps such as Grand Central 4 which helps with more advanced invoicing.

Tyme 2 can also integrate with Mac and iPhone/iPad calendars showing a view of activities and display alarms for due tasks. It complements the Record view and it is optional as some people will prefer a cleaner calendar view. Personally I found it shows too much information in weekly and monthly once I had tracked too many activities, but still it can be useful in some workflows and with alarms.

Both macOS and iOS versions look very smooth and pleasant to work with, no slowness at all even in devices with 3 years old. I’ll continue to use Tyme to help me track project time for the weekly time-sheet reporting period and I hope might be useful for some of you.

Common aspects between veganism and sustainability

The veganism has some good common aspects with sustainability regarding conscious consume. Whilst most known idea to people regarding veganism is related with decreasing greenhouse gases emissions, methane mainly and deforestation for cattle, issue goes beyond reaching supply chain, world wide market and producers.

Vegans defend animals are conscious beings that understand what is around them, therefore, they feel fear and pain, and suffer on being used for human consumption and that all animals should have the right to live with minimal interference from us. Vegans by avoiding consuming any animal derived product contribute for a change in the supply chain causing decreasing demand for animal derived product. The most common examples are meat like red, pig, chicken or fish, eggs and dairy while no less important but not well known, leather, honey, silk and wool (still, some products like cosmetics and medicines can be made from animals and be hard to get to know disclosed information). By decreasing demand for those products e replacing them by others make animal-free safe, generally vegetables, supply chain and production are forced to review their offers and the economics start to change gradually.

Animal made products will still have for a while smaller cost given production and distribution scale, while vegan products are generally considered premium rate to pioneer consumers and more expensive initially, until production and consume ramp up and more offers are created. As those products get more popular and more producers join the market, price tends to decrease.

And what veganism has to do with sustainability?

When we speak of sustainability, more known issues are energy efficiency on lighting, heating and cooling on less energy demanding devices and through better design, and hydric efficiency, or water racional use in such modern fixtures, and water reuse for less noble purposes like irrigation and flushing. Green building programs like Acua, LEED or Referencial Casa handle those very well.

However, just like veganism, sustainability programs also take care of supply chain or fair markets issues, be through recommendations, be through certification policies or mandates. So, just like vegans lead the market to  alternative products from the common, green building programs stimulate certified sources by third party, audited and that make up less impact on their operations.

Less known public known examples are the use of certified wood, purchased from audited and accredited sources, certified by entities like the FSC and from safe certified materials by entities like the Cradle to Cradle Products Innovation Institute. Those are two program examples that help consumers or their procurement decision for construction and operation.

The Brazilian program Referencial Casa also goes beyond usual and demands the construction workers are formally hired according to Brazilian labour laws, and suggests that capacitation programs for the community are brought in for those people to develop them with safer practices, recycling, read and writing skills as examples, not excluding others.

Those programs, by considering the impact on supply chain, production, transport of goods and on people’s life, make that consumers are more aware of from where they get their products, results of their life cycle on society and on the environment and bring changes on the market as a whole, just like vegan product consumption pattern that transforms meal market.

Both themes have in common the way the seek to reach moral and economics goals, seeking to push the market through changes in demand and as an outcome, production. This has a bigger transformation potencial than laws, although both are complementary.

Quick vMotion lab setup instructions for home lab using VMWare Fusion and ESXi 5.

This is short recipe guide to test VMWare vMotion at home lab with not too costly equipment. I used a Macbook Pro 2012 with 512GB SSD and 16GB RAM, 2.7GHz Core i7 processor and VMWare Fusion but similar setup will run on VMWare Workstation in Linux and Windows with some adaptations.

This lab basically has an NSF exported folder as a shared datastore for two VMWare ESXi hosts, which is a requirement for vMotion, plus two ESXi 5.0.0 virtual machines inside VMWare Fusion which in turn can migrate a Linux or Cisco UCS emulator between them. The OS X server component servers as DNS service to the environment. The Macbook needs to keep a fixed IP address and it supports Airport wireless interface without issues. The ESXi virtual hosts would be physical hosts, blade servers, instances in some platforms, that would generally connected into a SAN (Storage Area Network) sharing their data stores so vMotion could occur.

This requires some previous experience with standalone VMWare ESXi, VMWare Fusion, Windows Server 2003 and licenses for vCenter as well. This will not describe whole Windows Server and vCenter installation process. Scott Lowe excellent book shows all about ESXi and vCenter installation, plus full vMotion explanation as well whole ESXi features >

Here what you will need:

– VMWare Fusion 7 and OS X Yosemite with Server App ($30 in app store).
– A share created in /Users/Volume for NFS sharing.
– Two ESXi standard licenses, one per virtual ESXi hosts and vCenter.
– VMWare vCenter and a Windows Server 2003 R2 64-bit installation disk.
– VMware ESXi 5.0.0 ISO files. Minor versions like 5.1 and 5.5 should work as well.
– A Linux distribution or any other light operation system to test.
– Core i7 with 512SSD and 16GB RAM machine running OS X 10.8 and VMWare 5 and above. In this setup I am running latest versions OS X 10.10 and Fusion 7 Professional but it does not seem required.

So, how is this setup?

VMWare vCenter will control an entity Data Center named Macbook and inside it, a cluster (cluster 1) that has the two virtual ESXi servers as members. By having both ESXi virtual hosts sharing a local NFS exported folder, and a secondary network adapter in a vSwitch for vMotion, vCenter will enable a live migration with little interruption.
This is not the only way to set up a vMotion and variations can be tried for real data center application simulation.

vMotion requires: Both hosts (ESXi) be on compatible versions, compatible hardware at some conditions (for example, moving a virtual machine from AMD processor to Intel might not be possible if virtual machine was allowed to use processor specific functions). Also, the hosts must belong to a cluster and have share storage known as data store in VMWare, plus a dedicated network interface reachable between the hosts (those usually are on a vMotion vlan).

Once all is set up and running, you can right initiate a live migration from one host to another. With this setup, you should lose one echo packet before the machine is reachable and responding again. In large virtual machines and environments, this can be slower, but usually a data center would be designed to minimize this to no loss at all.


Setup of VMWare Fusion, DNS server, Share and ESXi hosts.

Quick recipe:

  • Set the IP address of the Mac interface to with gateway
  • Install VMWare Fusion >
  • Install the Server App
  • Open the Server app, enable DNS and create a domain, with hosts as Create hosts and with IP addresses and Create a vCenter server host as with IP address


  • Open the Terminal command prompt using <Command-Space> and type terminal followed by <Return>
  • Move into the /Users/Shared/ folder by typing ‘cd /Users/Shared
  • Create the shared folder as NFS using command ‘sudo mkdir nfs’ and type OS X administrator account password.

Macbook:~ Rodrigo$ cd /Users/Shared
Macbook:Shared Rodrigo$ sudo mkdir NSFNEW
Macbook:Shared Rodrigo$ ls -la
total 1459104
drwxrwxrwt@ 20 root wheel 680 26 Jan 15:35 .
drwxr-xr-x 7 root admin 238 22 Jan 12:07 ..
-rw-r–r–@ 1 Rodrigo wheel 10244 24 Jan 14:42 .DS_Store
-rw-r–r– 1 root wheel 0 9 Set 19:16 .localized
drwxrwxr-x+ 2 root wheel 68 23 Jan 10:49 nfs

Would should have a new nfs folder. Now, let’s export it so it can be accessed by NFS clients. Go to folder /private/etc/ using command ‘cd /private/etc’ and edit the exports file to add the folder nfs to be exported in NFS server.

Type ‘sudo pico exports’ to edit and create the file if it does not exist. Would should have the text editor like this.

  • Start a new line if needed, add the /Users/Shared/nfs -maproot=root:wheel line to enable sharing of nfs folder with root rights. A warning here. This is not the most secure way to do this and in fact would should have a non-privileged account for a non-lab environment for this (where a Mac server or any other Unix or NFS server could be a server to a specific deployment but I won’t get into details on how to do it, but keep in mind you should have quote and access control for it, possible auditing). Type <Control-X> and <Y> to save it.
  • Make sure you test NFS export is working.

Macbook:etc Rodrigo$ nfsstat -e
Exported Directory Info:
Requests Read Bytes Write Bytes
0 0 0 /Users/Shared/nfs
Macbook:etc Rodrigo$

If not, you might want to restart the nfsd (daemon) with command ‘sudo nsfd restart’.

Now you should have a proper server to host the 3 virtual machines and a shared data store.

Create two ESXi Hosts on Fusion

This time we are going to create two very similar virtual machines for ESXi host. So, open the VMWare Fusion virtual machine library, click on the Plus signal to create a new virtual machine choosing:

  1. Virtual machine type as VMWare ESXi v5.
  2. Two network adapters set as auto detect
  3. Two core processor cores and 2048MB of RAM (2GB) and Enable hypervisor applications in this virtual machine check box.
  4. Make a virtual disk of 40GB, and uncheck Split into multiple files and Pre-Allocate disk space checkboxes. We are not going to use anything like that disk space.
  5. Set up CD/DVD to the ESXi v5 ISO image.

Save the virtual machine and start it up with ISO mounted to start ESXi installation. In a regular process, you should end up with new ESXi host and name it using IPv4 address of and a root administration end user and password written down. Please, repeat the virtual machine creating process for the second host ESXi-Host2 using IPv4 address Overtime you power up those virtual machines, OS X will ask you for the password of an administrator end user to enable the network interfaces to monitor the system, for each interface, so twice per virtual machine, even if your end user is an administrator one.

Create the vCenter server on Fusion

This is a part where it takes some time and Windows knowledge to deploy vCenter server. Again, a new virtual machine needs to be created with 2 processors, 2GB of RAM, Windows Server 2003 64 Enterprise Edition and 400GB of disk. Again, the disk is thin provisioned so the space used will be much less than that. Remember to point the server to use as DNS server and have a secondary public address to reach updates for it.

Install Windows Server 2003, service packs and updates (assuming they won’t brake vCenter later here). Once stable, have the vCenter ISO and install it using a internal SQL database. Remember, for larger deployments it could and should probably be external server to handle data center size. Here, vCenter installation is not complicated but some previous knowledge helps on issues, which are rare by the way.

Create data center and cluster on vCenter.

Once vCenter is running, connect to it using the vSphere client directly on Windows Server you installed vCenter and create a data center by going on the Inventory > Hosts and Clusters menu. Named it Macbook and inside this data center, create a cluster named Cluster1 with not HA option enabled.

By now you can add both virtual ESXi hosts to this cluster. Select cluster1 before adding the hosts and you should be able to add them by their FQDN ‘’. At this time you will be asked to confirm or enter VMWare license for this vCenter server.


Now, we can add a new shared data store to them. Click on the first host, followed by the Configuration tab and select Storage on the left panel. You should see the first datastore in the 40GB disk we created for this ESXi host. Click o Add Storage command on the right upper side of the screen.

  1. Select Network File System Type.
  2. On the server enter and on the folder line enter /Users/Shared/nfs/ which is the folder we share before.
  3. Name the data store as NFS (capital letters).
  4. Click on Finish and make sure you have a new data store listed for this virtual machine. If any errors occur is because nfs export is not working or there is some access right issues. You might want to grant your OS X end user rights to the NFS folder using the Finder and retry.
  5. Repeat this process to the second virtual machine hosting ESXi-Host2.


It is normal a warning about Store I/O Control for this lab, but you should be able to see free space and use it.

It is time to add a vMotion interface to both ESXi hosts. This is a requirement for vMotion to work, so click on Networking option on the left panel to bring up the network interfaces and virtual switches.

  1. Click on Add Networking and on VMKernel type and on <Next>
  2. Select a new virtual switch that will be used with this vMotion network interface.
  3. On the next screen, name the network label as vMotion and click on Enable this port group for vMotion.
  4. Enter the IP address of another network and by now choose only to use IPv4 (by the way. Mac runs natively with IPv6 very well, so vCenter under Windows Server 2003 and ESXi v5 and you enhance this lab later to us IPv6 only on vMotion if you want to try it with address auto configuration and local link addresses).
  5. Before clicking on Finish, make sure you had the second network interface attached to the new vSwitch. And you should have similar to this:


I used IP for this which is unusual but fits the lab. Please, repeat the process on the second ESXi host using address.

We should be all set to test a live VM migration.

Well, go ahead and create a small VM in ESXi-Host1 using the shared data store to hold the virtual machine and disk(s) and power it on. In a previous version of this lab I have used a Slackware 14 64-bit version with 16GB of disk (1 for swap partition and rest for the root file system and volume). This video shows a live migration and you should have similar results.

I know this setup can go wrong a few times and being far from VMWare experienced, there are still unknowns here. Be aware of shared datastore creation might not work and you might end up with two of them. Also, remember to have both ESXi hosts in a single cluster in a data center for the migration to list the server to where you want to move the virtual machine.

Fire up the virtual machine inside the virtual hypervisors (how’s cool that?) and once it is started up and quiet, proceed with right clicking it and choosing Migrate. Select the Change Host option and under cluster1 view, the second host (you should have a validation succeed message as well before going on). Click on <Next> , select High Priority, <Next>, check the summary screen and click on <Finish>. You should see the migration going on live like screen below. (using Cisco UCS Platform Emulator at this time). Hope this is useful to get you started on vMotion. There is much more to explore on >


Fiverr – Nova estrela no mercado de ofertas de trabalho on-line.

Mercado de freelancers online já tem boa visibilidade e tem dado uma boa amadurecida, mas gostei bastante do Fiverr que tem um modelo onde se cobram US$5 por trabalho ou gig (ou freela!), e que permite criar gigs múltiplas, estimar tempo para atendimento e cobrar extra para apressar um pedido. Teste comprar uma caricatura e foi bem tranquilo, mas gostaria de testar fazer trabalhos online por um tempo. Quem sabe numa das férias… 😉

How does mobile technology help me with daily workflow – part 1

It is well known that we use phones (we don’t even need to name them celular, smartphone or mobile anymore) for different kind of tasks, past time in queues, and mostly whastapping (there is no texting or SMS anymore) and selfing. Come on, every one does some of this one and while, no biggie.
Apart of that I have tried some app sets that let me build some workflows to accomplish very interesting results working together. I’ll show some iOS ones that might have similar Android and Windows apps.
IMG_9731-2014-07-1-19-41.PNG IMG_9734-2014-07-1-19-41.PNG IMG_9738-2014-07-1-19-41.PNG

Take for example some health apps and there are a huge amount of them to be able to list them all. It all started when I got Withings Health Mate blood pressure monitor (BP) device in 2012 which connects via old 30-pin Apple connector (current model is Bluetooth now, way better). It will manage not only you BP history thru the device and manual entrees but allows height, height and sleep measuring with 3rd party apps and devices. For example, it gets calories taken of Runkeeper app and minutes of exercise per period and account for. Runkeeper can have your exercises data pulled from Withings Healthmate and you have a consolidate Cal intake against outtake.

IMG_9741-2014-07-1-19-41.PNG IMG_9742-2014-07-1-19-41.PNG IMG_9743-2014-07-1-19-41.PNG

The third app I use integrated with Healthmate is My Fitness Pal where I register meal’s data like serving size, Cals, vitamins and Proteins. It is a little work to get regular food intake added to the app but when you repeat meal usage in the next few days, you will get suggestions or similar meal.

IMG_9721-2014-07-1-19-41.PNG IMG_9729-2014-07-1-19-41.PNG IMG_9727-2014-07-1-19-41.PNG

So, once you get all added regularly, you can have a good picture of health habits, meal history and some data present to your physician. Does app will not replace their full diagnostics but help provide BP, colesterol intake rate, Cal burn rate and other information. Well, what is next? Apple iOS 8 will have a new set of features these apps can better integrate inside the phone without requiring you to create external accounts to sync data, at the same time it gets standard set of data providers and type. There is huge amount of them to try free and paid with premium services for all. If you have used something similar, other experience, I’d love to hear it.

Vantagem competitiva e benchmarking?

Por que falamos sempre nisso em trabalhos de graduação, pós, reuniões? Parece modismo as vezes. “Faremos benchmarking para melhorar nossas técnicas de construção e engenharia…” mas, isto é catching up com o que fazem os outros, ou o termo horrível “correr atrás do prejuízo”.

Não há como alcançar objetivos desafiadores ou maiores sendo muito conversador ou preocupado com riscos a ponto de empacar iniciativas. Em TI vejo muito dogmas do tipo, “nunca instale uma versão maior .0 de um software, espere a correção”, em alimentação, repete-se o que os outros fazem.

Novamente, vantagem competitiva é logo perdida com as imitações mas dá saída na frente organizações grandes ou empreendedores menores que começam a buscar formas de causar disrupção de mercado ou indústria.

Enquanto a NASA busca contractos lobbistas tradicionais em armamentos, para foguetes que não precisam ir muito longe, Elon Musk da PayPal melhora a cada dia seu projeto na Space X de levar payloads ao espaço usando querosene em motores modernos (sonho do Werner von Braum). Sua companhia garantiu em 2012 contrato de US$1.6bi com NASA para levar 12 voos para a ISS e tirar a dependência dos russos para isso, verdadeiro empreendedor do espírito americano original! Tesla Motors é outro exemplo para carros elétricos de longo alcance e mercado premium por enquanto. mas com planos para espalhar o mercado com modelos menores. Boa briga.

O que me parece certo é arriscar e inovar, em maior grau com um pouco mais de frequência pois cada negócio tem uma dinâmica diferente. Entretanto não espere muito empresas de celulares fizeram para entender que outro tipo concorrente inesperado apareça. Outro exemplo, a Cisco anunciou entrada em mercados de servidores em 2009 e analisando o que montaram até 2013 com computação unificada, virtualização completa de servidores, rede, software, orquestração de processamento e máquinas virtuais e SDN (software defines network), a fez tomar segundo lugar nos EUA. Brasil ainda é mais tímida a participação porque o preço de entrada nesta infra é maior e muitos gestores tem medo de mudança, além do momento econômico mais delicado. Lembro que em 2002 eu já insistia para iniciarmos experiência com virtualização (se podia fazer em casa) e logo após telefonia IP com equipamentos de rede mais capaz. Chegamos tarde demais nos dois e compramos tecnologia no final do ciclo de vida… Apesar de mais barata, não usaremos tanto tempo quanto o que usaríamos se tivéssemos entrado antes, principalmente telefonia IP tradicional.