Feel like a geek and get yourself Ema Personal Wiki for Android and Windows

24 September 2010

Ema Personal Wiki for Android (and Windows)

Ema Personal Wiki Ema Personal Wiki is a notebook with linkable pages for tracking your ideas, information, todo lists, tasks, bookmarks, projects, notes, brainstorms - in short, your life - in the most flexible way. It has two versions: an Android and a Windows version, which are synchronized with your Dropbox account.

Create pages with information, and link these pages by simply using a WikiWord on another page or surrounding a word with curly brackets. This keeps you completely in charge of how you want to organize your personal notebook.

Get yourself a wiki and feel like a geek.

Download and install

The installer for the Windows version: download link. It is free and open source.
The source can be found on github.

The Android version can be downloaded from the Android Market. Search for "Ema" to find it, or click this link (Android only), or use the QR code on the right.

Manuals

See the Android app manual for screenshots and features for the Android version.
See the Windows application manual for screenshots and features for the Windows version.

09 July 2010

Speed up compilation time in Visual Studio


Speed up your compilation time with Visual Studio drastically with this tip, especially with large projects.

Working from memory is always faster than working from disk. It would be a huge improvement to use Solid State harddrives as much as possible, but those are still quite expensive.

I always thought that the bottleneck for my PC was the CPU. Until I started to use the Moo0 system monitor (see picture on the right), which has clearly shown me that in 100% of the cases where there is a bottleneck, it is the harddrive.

Since memoryusage was only 30% most of the time, I figured that I might use some of my memory as a RAM-disk and work from a virtual disk that exists in memory only. There is a free RAM-disk utility that can be downloaded from mydigitallife.info. It credits Microsoft, Gavotte and lyh728 for the software.

The disadvantage of a RAM-disk is that all your carefully crafted contents are deleted once you restart your PC.

I solved this by synchronizing the RAM-disk with the c# project directory on disk where the code resides. There is an excellent synchronization utility called SyncBack which has a free edition. I told it to synchronize every 15 minutes, so I will lose fifteen minutes work at most. In most cases it only takes seconds to synchronize the changes, so I could synchronize more frequently.



All of the code and a few of the required dll's are now served from memory. This really sped up my compilation time. Are there more usages of this mechanism? The browser cache on RAM-disk? Outlook PST files? SQL server data files? How much more memory can my PC have...? How much does it cost...?

20 May 2010

Joel on software - a summary: 2010

This is a summary for the blog by Joel Spolsky, Joel on Software, volume 2007. The summary for the years 2000-2010 can be found on the Joel on Software summary index page.


It's a waste of time to involve everyone in everything. Reduce communication lines as much as possible. -- A Little Less Conversation.

A great tester gives programmers immediate feedback on what they did wrong, but also on what they did right. It's demoralizing to have only the negative feedback. -- Why testers?

To get a popular blog, it has to be about your readers and things that interest your readers, not about yourself. -- Let's Take This Offline.

~ ~ ~

17 May 2010

Joel on software - a summary: 2009

This is a summary for the blog by Joel Spolsky, Joel on Software, volume 2007. The summary for the years 2000-2010 can be found on the Joel on Software summary index page.


To software developers applying to a small company: everything about your resume has to scream getting your own hands dirty. -- Blog post 2009/01/02.

If you can't think of anything to say, maybe you should just shut up. -- Blog post 2009/01/12.

Don't be fanatic about coding principles like TDD and SOLID, which can be bureaucratic and limiting. What really matters is, how quickly you can respond to real business needs with your code. -- From podcast 38.

Success is the product of a combination of factors that came together in precisely the right way at precisely the right time. Failure is often caused by a collapse of motivation to try and turn the dials to find success. -- Start-up static

Programmers should not report to the person who writes the specs (the program manager). To be effective, the program manager should have earned respect from the programmers. -- How to be a program manager.

Treating your customers well really does pay off. -- Why Circuit City Failed, and Why B&H Thrives

You won't get rich by selling gap-filler applications, because the platform with the gap will fill the gap itself if it's urgent. -- Blog post 2009/06/10.

Duct tape programmers prefer a shippable product over politically correct code. They tend to avoid cool technologies that are all totally reasonable, but are just a little bit too hard for the human brain. -- The Duct Tape Programmer.

It appears to be a permanent part of the human condition that long term deadlines without short term milestones are rarely met. -- Capstone projects and time management

If you want passionate users, your mission should be expressable as "We help $TYPE_OF_PERSON be awesome at $THING”. -- Figuring out what your company is all about

Slow growth may result in slow death if there happens to be a competitor that grows fast. -- Does Slow Growth Equal Slow Death?

Micromanagement is needed when somehow uncaring people are involved in a project. -- When and How to Micromanage

The minimum bar for a reliable service is not that you have done a backup, but that you have done a restore. -- Let's stop talking about "backups".

11 May 2010

Joel on software - a summary: 2008

This is a summary for the blog by Joel Spolsky, Joel on Software, volume 2007. The summary for the years 2000-2010 can be found on the Joel on Software summary index page.


To attract the kids who are really interesting in programming, a programming-intensive BFA in Software Development should be created. -- Undergraduate programming.

Instead of imposing a statistically meaningless measurement of downtime, set up a program of continuous improvement. Ask "why" until you know what caused a problem and correct the root cause. -- Five whys

The Office binary formats are complex because the applications are ridiculously complex. Don't use it, let Office do the work for you (via COM automation) or use a simpler file format (like CSV or RTF). -- Why are the Microsoft Office file formats so complicated? (And some workarounds)

"Seeming impossible" is practically a requirement for a truly great innovation. Real innovation happens when someone tries anyway, overlooking an obvious flaw, and finds a way to make an idea work. -- Inspired Misfires

Employees didn't start the company and won't behave like people who did. -- Lessons I learned in the army

Consumers (= your wife) don’t give a flicking flick about your stupid religious enthusiasm for making web browsers which conform to some mythical, platonic "standard" that is not actually implemented anywhere. -- Martian headsets

A lot of good developers are working on hopeless and useless architecture astronomy because companies like Microsoft an Google are driven to grow at all cost, even though they can't think of a single useful thing to build for us. -- Architecture astronauts take over.

Don't disable options. Instead, show a message to the user why the action can't be completed. -- Blog post 2008/07/01.

Procedures need to be flexible, otherwise they can evolve into something that looks more like antagonism toward customers. -- Good System, Bad System.

The purpose of middle management is to create useful channels of communication. -- How I Learned to Love Middle Managers

If you're stuck, the "Hair on fire" strategy may help: do nothing except finish the project. -- Hair on fire.

Measuring performance and stimulating performance by commissions is tricky. Employees will figure out how to get the number you want at the expense of what you are not measuring. -- Sins of Commissions

A lot of the principles advocated by Joel Spolsky don't really matter for a project to be successful, as long as the people working on the project are smart and get things done. -- The Unproven Path.

If you are a student, to get the job you want: 1. schedule your interviews as close as possible. 2. Don't accept a forced deadline that prevents you from taking other interviews. 3. Or accept it only verbally and just cancel it if you get a better offer later. -- Exploding offer season.

Management should be an administrative function. Authority and respect are earned and not bestowed. -- My Style of Servant Leadership

Stop listening to Joel Spolsky. -- Amnesia.