After a long delay I finally updated my Notepad++ plugin MarkdownViewer++.
With the newest release 0.6.0 several improvements, fixes and new features were integrated:
- Now the plugin is Notepad++ x86 and x64 compatible
- Updated dependencies for improved PDF exports
- Several bugfixes
- Added an options dialog to allow the customization of CSS, PDF exports, rendered files etc.
The MarkdownViewer++ offers several options to customize your plugin experience. You can open the options dialog via the Plugins sub-menu.
On the General tab you can configure the file extensions the MarkdownViewer++ renderer should actually display. If the box is empty all files will be rendered. If you want to limit the rendering to certain file extensions list them in the textbox as comma-separated list without leading dot.
For example, if you only want to render txt, log and md files just type in "txt,log,md".
Please note that only file extensions are compared and no certain mime types or anything. If a text document is not named XYZ.txt it will not be rendered.
On the HTML tab you can fill in Custom CSS, which is used when rendering the MarkdownViewer++ preview as well as the exported HTML. Therefore, you are able to e.g. change bullet-point-list icons or sizes of headlines. The custom CSS textbox is limited to 32767 characters.
On the PDF tab you can set the orientation and page size of the exported PDF. The content is provided by the PDFSharp enumerations.
Long time no see and back with a new project ^^
I am writing everything in Markdown syntax (you should see my many “notes.txt” or “notes.md” files ^^#) As such, I also export HTML and PDF files from them and I am constantly checking how it looks. So far, I was using Dillinger or StackEdit. Great tools, actually awesome. That is why I used them for years now.
But, Notepad++ is my main editor, opened 24/7 basically. And to always track my files in the browser and “export” them to my local filesystem just didn’t seem reasonable and feasible anymore. That’s why I went for a MarkdownViewer++, with basic rendering, HTML and PDF export.
I made a Notepad++ plugin to render the current open (Markdown) file in a dockable window as a rendered HTML to see all changes and Markdown “beautified” in an instant. It can be found at GitHub MarkdownViewer++.
Current basic features are:
- Dockable panel (toggle) with a rendered HTML of the currently selected file/tab
- CommonMark compliant (0.27)
- Links open in a separate Browser
- Basic HTML Export
- Basic PDF Export
- Unicode Notepad++ 32-bit plugin
Go try, if you like to. And leave a comment, issue, suggestion etc. if it should be improved. It is not perfect, I know it underperforms with large documents and am working on it. But I am also happy about any feedback.
But still I feel inferior to the “real” developers because of my bad C expertise and especially my personal ignorance to really focus on it.
All my history…
I got in touch with computers and gaming early in my life through my brother. I started with a C16, C64 and Amiga 500 besides my GameBoy until I got my first (nowadays) classic PC. I was always intrigued by what was possible, the magic, playing Pong, Maniac Mansion, Zork and watching Scene Demos and Cracktros from legends such as The Black Lotus or the Animators. I wanted to do the same stuff, I wanted to (text-)wander through my own forests, wanted to have colorful spinning balls on the screen… so I began learning how to do so.
I started off on the Amiga with Assembler, got into QBasic later, Pascal, Delphi (loved its structure), Visual Basic (quick results) and very early PHP (the Internet) through early Web-Development tests and HTML/CSS. About ten years ago I got into Java at version 1.1 and am still on it. At every Job I had before and during my studies I was able/forced to use Java and it kept that way until today. Besides Java I had a look at and use Python, Scala (what I like about Java+functional programming), Actionscript, … and even Perl (just in one project) out of personal interest or for personal stuff.
Just from my history my expertise developed early around object-oriented programming which appealed to me the most, so I stayed. Therefore, very early in my “personal development” my development expertise was already conquered by Delphi and Java that formed my view on OOP and general Application Development besides their originators being influenced by C++ (good or bad). But there were still the games I liked the most. So, I had to learn C and C++. Teach myself the language of my favourite entertainment.
Try, Fail, Ignore
I bought books about C, about C++, about Game Development, about DirectX, about OpenGL, got into boards, searched the net for every tutorial I could find, tried everything and even got some minor things to work so that something moved on my screen… and it was programmed in C++. But something clicked in my head, spreading bad thoughts such as:
- This could be easier!
- Linkage and IDE is clumsy, Eclipse is way superior!
- These design patterns are native in Java!
I read more and more, tried more and more and unfortunately failed more often. The initial fun and ambition faded away with every single compilation that turned out to not work as expected, crashed or ended up in memory leaks.
Even with every interest and devotion I had to learn, to me it was “just” another syntax complicating things. Pretty much everything I learned and did I was able to reproduce in Java in less time and with more comfort and less errors. I got lazy!
So, even if I tried to seriously learn and get into C and C++ it just did not reach me, did not touch me. From my history and my experience with other languages, IDEs and projects I knew that there were different ways to achieve nearly the same things. And it was not only my laziness from very elegant development environments or library usage, also the code itself appeared to be cryptic to my eyes.
No matter if I read Java, Python or PHP code nowadays: Besides the fact that every code can be beautiful and ugly I understand Java code instantly; I recognize the Python functionality; I get what the PHP developer meant to do! Even in the last years as I was checking examples and help sites for iOS and Android NDK coding out of interest I could not get rid of the thought: I can achieve the same thing with the Android SDK! (PS: Objective-C is pretty ugly ^^)
And it is not that I do not like any other languages any more: I was “forced” to use Haskell and dismissed it; tried Scala and loved it! Fooled around with Ruby and had fun; Prolog and Lisp… na; Eiffel and C#, olé!
Especially C# instantly appealed to me: The syntax, the structures, the functionality and the ideas filled the holes that Java left over the years. It may be a coincidence that Anders Hejlsberg, a main man behind “my” Delphi is the lead designer of C# but maybe we think alike. And with the advent of XNA I even had a connection to game development again… and it started with a C! The commonality of course was a similar syntax, similar principles and the idea of a Virtual Machine executing and “managing” my code. No changes for specific operating systems (at least in the perfect sales world ^^), just develop and it would work… now with easy native Windows “ways”!
But the thing that always struck me again were games. Even XNA seemed “unreal” for real game developments.
Games are developed in C
If I would have gotten one cent for every time I read this exact line on a board, tutorial or e-mail… you know what I would be then as you probably think the same right now. And I believed it! It was like this; It stays like this!
But over time I got more experienced in developing and engineering applications and solutions and I realized that in most cases the programming language is just the tool to fulfil the requirements: And my requirement was still to make the things I have in my head!
I started to look around and found games such as Spiral Knights, Puzzle Pirates, Jake2 (a Quake2 Java port), Chrome using Java for scripting and even EVE Online from CCP. A Server and Client nearly 100% developed in Stackless Python; a dynamic programming language in a multi-micro-threaded environment. Easy to read and learn, hard to master.
But probably the biggest counterexample today would be Minecraft. The biggest Indie sensation last year is developed in Java and even if I never really got into the game, I admire Notch for what he did and achieved… and everything in Java. And Minecraft was not the first but Wurm Online already showed where Notch could go… in Java.
With these great examples of Games not developed in C/C++ I felt more confident in following my own way that I have successfully gone for years now.
To be or TioBe
I do not intend to defy C or C++ but if I am not required to use C for the games I want to create and other segments and industries can be conquered by languages such as Java, too (as shown in the Tiobe Index), why should I?
Especially in enterprise environments Java is a strong candidate for projects: From a Manager perspective the Java salesman argues with operating system independence, easy extended library architecture, basic native Database framework and UI support… sold! Enterprise Java is still a keyword for international research projects today. And with JME and Android even the mobile sector is invaded by Java for years now.
And with Android supporting Java as well as Microsoft supporting C# I can be everywhere: On PCs, on Consoles, on Mobile Phones and on Browsers. With languages I know, am experienced with and that appeal to me.
So, do I still have to put all my power in re-learning what I already know in other languages? Where I have intensive practical knowledge? Where I can craft my dreams?
Ignorance is bliss
Even with my underwhelming C skills I get along very well. Tiobe proves me right and until now I always solved the problems given to me or achieved and created what I wanted. I am working in the games industry, worked on large and international projects for big companies, wrote some publications and most results were accepted just fine. I even remember some projects and programs created by me that I am still proud of and this does not happen very often as every developer I know normally wants to change the code he wrote the second he/she finished the last line ^^.
I am aware that for the last performance tweak, for the most awesome graphics engine I would have to use C (or Assembler) and I am aware that the foundation for all that I use such as the Java or the .net VM an explicit knowledge is required. Nevertheless, I do not state that nobody should use C or C++. It is just that I want to raise awareness for people that complain about people not knowing C, labelling these as non-programmers. These guys are able, too. And if they want to Write Games, not Engines they might even be better for game logic and not “just” tools. These guys are also able to know what really happens underneath as that is a mandatory pre-requisite and not the knowledge of a syntax.
Therefore, besides all my years trying to get into “the game” of learning C and C++ I turned out pretty well, with experience in large projects, systems and now games. I call myself a game developer. And if many decline my languages I decide for myself that (C+)Ignorance Is Bliss…
Part of the Challenge: Show your ignorance! for #AltDevBlogADay
I must admit I am no Microsoft hater. I use Windows since 3.11, loved DOS, have an affinity for Linux but if I think about a good graphical user interface Windows pops up (OK, maybe it’s all stolen and MacOS X is better but I needed about 5 minutes to crash OS X the first time I started Firefox). So I had my come out… I am a Microsoft fetish!
Why this post? In my opinion Microsoft has learned of its flaws in the past and is going in the right direction. Visual Studio 2005 has become an easy to use and intuitive development suite. Microsoft’s way to free the Express Editions is to support and not to criticize. Of course they want to push .net development. So what? Every company wants to push its own product but if Microsoft does so its the way of the devil.
I pretty much liked the Vista beta. It needs a better PC but a normal mid-range Computer today can run Vista just fine. I had it installed on my over 3 year’s old laptop and after updating the harddisk driver it ran good. The new color scheme is much more eye-friendly than XP (how blind do you have to be to mix green and orange…!?), Taskbar, Sidebar and Explorer have grown-up and the security system is much more witted than before. A little more compatibility with older software (I noticed some minor incompatibility) and Vista is the first Windows I will like from the first release on.
Microsoft Office 2007 made the biggest leap. I hated Office XP and Office 2003. Just more colors, just more annoying avatars that try to disturb your slumber at work and much to complicated. With Office 2007 everything changes, at least the user interface. The tabbed based bars give you fast and intelligent access to nearly all the features you need with live previews of the changes. It automatically gives you the right Tab based on what you currently edit. Most features are by far more stable as in Office 2003. It’s quick, it’s an ease to use and Microsoft definitely is on the right way with their current products.
Windows Media Player 11
Microsoft released the Windows Media Player 11. The 24MB download gives you a new and improved (as always) user interface that is based on the Vista color scheme. It somehow reminds me of the Vista Explorer because of its pretty simple and straight forward style. Clearly structured menu on the top, content in the middle and mediabar on the bottom. The design is tabbed based which quickly lets you switch between Playlist, Layout, Library and MusicStore. As MusicStore it integrates the URGE Music Service (Yeah, Microsoft dictates your MusicStore but Apple, ITunes and IPod would never do so ^^) but you do not need to use it. The strong graphical interface is faster than WMP10 in my opinion and gives you quick access to standard features. I must say that WMP11 is not only a MediaPlayer but a MediaStation. As every new program tries to imply everything you may need the MediaPlayer covers every media that is on your computer and gives you administrative powers over them. So conquer them! Try it!
Internet Explorer 7
After 5 years (IE6 was released in 2001) the Internet Explorer has been updated. And as nearly every browser on the Internet is has Tabs ^^’. But to be concrete again the interface is oriented on the Vista style which I like. It comes with common features you might know from Opera 9 or Firefox 2 so nothing special there. Overall the IE7 has nothing to really hype it for or complain about. It’s just a standard browser. Wait… standard? Maybe not as standardized as we would like. Some bugs and hacks have been repaired but others pop out. It is not as W3 compliant as expected so there still will be a lot of work for every real web designer. Not that Firefox or Opera or Konquerer or any other browser do better. Still every browser has its special behaviours so we dumb and underpaid computer scientists have to find the way in the middle to reach every user on the Internet. Much work to do! But to defend IE7: It is better. It is by far more compliant than before. It uses about as much memory as Firefox (a little more). It has an integrated Phishing- and PopUp-Blocker and makes an overall good impression. I will stay with my Firefox because of the plugins but IE7 has a plugin interface too. We’ll see what will come next…
Windows Desktop Search
The Windows Desktop Search follows all those desktop search engines on the market: Google Desktop, Copernic, X1 and many more. There is nothing special about just a solid search engine. It has a browser like search interface, quick access through a taskbar textfield and some minor options. Basically WDS is the first to concentrate on searching and not flooding your computer. I tried them all and many more but WDS was the first to convince me. It indexes faster than the most and while indexing you computer can still be used (had my problems with others in this point). The browser interface is not beautiful but functional. WDS categorizes your files into different Medias like Photos, Music or Video and let you specify what filetypes you want the content to be indexed too. With the taskbar textfield you can quickly access your indexed content and a little popup shows you the categorized outcome.
Why WDS? Windows Desktop Search is not new, it basically is the MSN Desktop Search but in its newest version. Now there are much more options you can control like index snoozing or what hdds to index. It has some nice plugins that add support for e.g. PDF, MP3 ID3-Tag, Thunderbird and more. Just try it once (I tried them all) and maybe you are as convinced as I am.
Microsoft Office Accounting 2007
Nothing for the normal house husband but definitely worth a look. Microsoft Office Accounting 2007 is as the name states an Accounting Software. Manage employees, time tracking, the payroll, track you’re in- and outcome et cetera. It is nothing anybody can make use of but everybody can have a look if it has some minor features to manage its own finances or anything else. Office Accounting is free but uses some plugins that are shareware so beware of them. The basic functions are all free and if you do not run a big business (which you probably won’t otherwise you would not read this) you do not need other features. The about 300MB download contains nearly everything to run a small business.
That’s it for today. This post is all about objectiveness. Do not curse Microsoft by default. Just try and you’ll see even Bill Gates has some good features. So for now: Hail to thy Microsoft ^^!
Source of Pictures: http://www.microsoft.com/, Desktop Screenshot taken by myself.