sir_lichtkind's Journal sir_lichtkind's use Perl Journal en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:23:08+00:00 pudge Technology hourly 1 1970-01-01T00:00+00:00 sir_lichtkind's Journal features to all caring about details - part eight <br> <br> This part is especially for users of Kommodo, padre, np++, SciTe and so on. because they benefited from Kephra too. They all use the scintilla lexer written by the malaysian kein hong man++. Perl people should at least heard this name once. I filed several bugreports, he later worked on so that that the perl lexer works also in some more weird cornercases like e.g. hash keys that begin with "-". the last thing i filed was last week. it was about hierarchical folding of POD where =head1 should be parent node of =head2 and so on. <br> <br> But I also found a lot bugs in WxPerl and filed things too on the WxWidgets side. My fist patches/suggestions for another Module I did for our primary config parser Config::General. And even in the Modul Clone which version numbering hack triggered some bad side effects. I even filed once a supposed bug in YAML::Tiny, but it turned out that the feature I was relying on, was an convenience feature of the YAML module which adam will not let into Y::T. sir_lichtkind 2009-12-20T16:55:56+00:00 journal bragging with none-features caring about details - part seven. <br> <br> in previous parts, I often wrote about features, that are so small, that they appear only in the changefile of smaller releases. This time, its about things you hardly ever read in about in release notes. Nonetheless they play a big part in the experience, using that program. I have to apologize, because user experience is another overused marketing term, but it decribes what I mean very well so don't mind the hype. <br> <br> Let's start with icons. Because most GUI elements are common, individually crafted icons really give your app a face. Friendly, unobtrusive, understanable, distinguishable icons that integrate well with all operating systems the app can run under, bring much more joy to using your app. Our designer Jens Neuwerk has an eye on all these things and helped Kephra greatly from the earliest releases on. Now that Kephra gets more complex and the number of icons rises, we like to indicate with certain shapes and colors certain meanings, to get an even clearer communication with the use. <br> <br> Another alleged none-feature is the main menu. We see it as an thematically sorted overview of nearly all functions. So you can find something needed fast. Therefore we refactor it frequently. We also add to each menu item a short help text, that appears in the statusbar while this menu item is highlighted. Many of this tooltips are obvious but new user have comfortable way of learning and it might even save for the advenced user a search in the documentation. Frankly I don't understand why not any of my other installed editors provides that too. Allright padre is here an exception too, but only few menu item hat actually a tooltip and much less were translated. <br> <br> I think I once saw a tshirt with the text: "every feature i can't turn off is a bug." Humor lives from exaggeration but a switch to turn off a feature is an often underestimated feature which very seldom pops up in advertising. Not getting into your way can also have graphical expression, like in a semi transparent search dialog, that never can hide what you're looking for. <br> <br> It is also not the amount of feature you have, but how well crafted and and fine tuned there are. The ~300 Perl coreops do more then the 3000+ in PHP. It can be a virtue to have less feature in an app too, because it says nothing about the service it provides to the user. Kephra 0.4.1 introduced folding, 0.4.2 enriched and finetuned it and with 0.4.3 we will change there again something. sibling fold will be replaced by a more useful level fold. How we do with less folding ops more, I already written here previously. <br> <br> Consistency of the whole UI and op-behaviour is also such a "none-feature". That means also that we change something when we absolutely have to. Its also the advantage of the long developement cycle, that feature can mature. even if the testversion 0.4.4, which will introduce the plugin API will change the folding again. The normal user that might switch from stable release 0.4. to 0.5 will find a new but mature feature that most propably don't have to change in the next time. <br> <br> thank you for reading sir_lichtkind 2009-12-17T20:31:56+00:00 journal Why use Kephra part 2 last time I used this topic, it was just about the line editing commands. of cource there is more. and the major idea is to pay attention to what you need right now, while you trying to achieve something another way that you do in your imagination. Its the Perl principles, brought into the realm of coding.<br> <br> One of the first things we did extra to the basic edit functions was an idea of manuel. He brought this up, even before the perl workshop in dresden and I called it, lacking a better term, braceindent. You may know autoindent which let you start after pressing enter with a new line the has same indentation like the last one had. Kephra has that too but if you press enter after an open curly bracket ({), your next line is indented one tab or several spaces more (depends on your settings for that document). It also creates the matching brace below you cursor, already correctly indented. But many may not like that, so this partial behaviour is also optional. <br> <br> Of course Kephra highlights matching brace, but you can also navigate through matching braces with very easy key combination, just alt+cursor not that crypting things you may found elsewhere. I did this because braces reflect the logical structure (blocks) of code and if you can easy navigate them you may easier get to the position in code you looking for than with a search. Folding commands which also mainly ease navigation and orientation in code lay on key commands that are very similar to allow fast navigation. Sometimes you want to select easily also whats inside a block/braces or string. Vim reminded me on that and one of the next Kephra versions (0.4.4) should bring that too. <br> <br> 0.4.3 is just too close. most features are written and im currently just cleaning the cage. sir_lichtkind 2009-12-13T17:03:54+00:00 journal what are configs? In the last post I mentioned Kephra's menu definition files. These can only work, because we have a very important file namend commandlist. There is a binding of a chunk of data to each call. the internal call, a callback that says me which state this call has or if should be disabled. also events the will be triggered if that data or status changes, an association to an icon file and the key binding is also defined there. the label and hint texts are of course part of the localisation. <br> <br> how to call such files? I put it under "config/interface/*" and "config/localisation" but i'm not shure if its the right term for that. there is also a config file, where all the setiings are saved, under "config/global". Just recently i throw some parts out that are not really settings. for instance the previously used search terms and bookmark position. I put it into the search_data.yml to clean things a bit up. Also the config validate routines have now a much easier job. also the list of closed files i move from the settings into an own file. it will be a regular Kephra file session file, that holds all properties so if you restore any file from the closed files menu, you have all you settings with the marked postitions back. <br> <br> There is also an extra file for the notepad content. we have a file with the templates you can insert form the templates menu. and then you have the directory "config/syntaxstyles" where are the color definitions for the syntax hightlighters are lying. there is also an dir "syntaxmodes" because we soon do a transition from these syntaxstyles to a richer format that contain more information about that language. how to comment, which interpreter<nobr> <wbr></nobr>/compiler to use and so on. <br> <br> the we have also some files we try to hide a bit from the use in some deeper nested directories. that are subconfigs that define the help menu for a particula language or some precompiled yaml informations, that help to speed up the boot time. for instance if you translate Kephra into spanish or russian (hint, hint!) and translate the config/localisation/english.conf into an spanish.conf and put it into the localisation folder. Kephra recognises during the next start that there is a new l18n file and recompiles the language selection menu and replaces the old definition in the "config/interface/cache" folder. The label and hints for that menu item will be taken out of the meta head of the l18n file. <br> <br> but all that will grow and grow and soon (before kephra 0.5) we get plugins that have to be stored somewhere with their own config files that have to be also stored somewhere. so i currently just rethinking this whole system. We had 3 extensions so far, but they all went into the core, because the're small. I don't believe that making a plugin out of every tiny thing, that is not needed to boot an app is such a smart idea like purely rational people like me to believe. I'm here very anti eclipse (the nether Khephra is a sun bearer not a sun eclipser) but Kephra is anti eclipse in all means. But thats an topic of its own, for a new article. sir_lichtkind 2009-12-11T21:44:29+00:00 journal i like context menus part four. <br> <br> Kephra has a main menu, that is compiled from a yaml file you can open via the "config &gt; interface" menu. So you can change it easily with the previously listed line edit commands. It serves as an overview, sorted by topic. Optimized for finding a function you looking for, not optimized for finding it after the first click, that's the task for context menus. This main menu I refactor from time to time, to keep it structure sense-making, balanced and beautiful. <br> <br> On the other hand Kephra also has context menus, that are also compiled from yaml (easy changeable), but contain a selection of important commands, associated with this spot in the app. this is almost self evident and widely used in GUI software, but editors miss here large opportunities. Lets take for instance Gvim. true its not a GUI Editor of the first order, but believe me, most IDE don't do much better. GVim has only one context menu with undo, insert and some selecting commands. if you have already selected, the usual 4 edit commands will be added. <br> <br> Nearly same thing with scite, padre or notepad++. Only notepads menu is extralarge because its polluted withe a shiny but fancy feature for highlighting selections of text with different colors. I currently can't do that because Wxwidgets wraps an 2 years old version of scintilla. but back to context menu. The Kommodo IDE has also an extra long context menu that you have to scroll with tiny menu buttons. <br> <br> But how does it Kephra? We put also a lot of stuff into the context menu, but copied a very reasonable idea from firefox that anybody else don't seems to notice. Noone of the here named editors and most of the others don't do it, even if its the natural thing to do: don't pollute precious context menu space with calls that don't provide a useful function in this context. or lets put it more clearly: separate this menu into two. one general menu with functions about this current file (undo,redo|insert, select all|back to last edit,search dialog|save,open|close). another menu will popup if you rightclick and you selected some text. then you get a menu of actions you can do with that selected text like:copy, insert, replace, cut, delete|take as search term, take as replace term, put it into notepad,lc,uc). maybe the comment function we should put here too like padre does. <br> <br> That was nice and menus don't get too long. But it doesn't stop there. if you rightclick on the margin, you get another menu with items that have to do what the margins are about. markers, bookmarks, folding and switching the visibilities of the editpanel margins. I mean its the most natural thing to do: i don't like this so i click on it and say it should go instead of searching the call in the main menu, even all these calls are just in the "view" menu. The searchbar has a context menu where you can set all the search option like in the search and replace dialog. It can also be found in main menu under "search &gt; options". and many status bar cells have a context menu too. its a bit like kommodo does it, but only richer. in kommodo cells that react on left click have an small updown arrow that signal: here can you popup a menu by left click. In kephra left and right click do something different. i mean with left you do point an click or switch buttons. thats what leftclick also do in kephra status cells. the switch between the 2 (in one case 3) most common settings for that document property. but if you rightclick you get an context menu with a lot of more stuff associated with that property. to me its often a way to get my stuff done fast. <br> <br> To sum this up: this series of articles is not about bashing other editor, but to showing why I started Kephra in the first place. because most editors do the usual stuff like all the other do it too. to innovate is one of the most misused words by microsoft but innovation is needed in a lot of places and frankly i can't change all the bits in kommodo or notepad++ i would like. beside notepad is windows only and kommodo is not free as i can get really hands on the UI design. So there is a real need for Kephra. many are happy with the things there used too but but some who are picky about details and wand to tweak even small issues by changing the configs, may find kephra fitting. <br> <br> uh, one thing i forgot. there was one menu more, that is currently disabled, because the AUI::Notebook can't react on mouse events. so it maybe will appear as a regular menu in the main documents menu. Its about a list of all open docs in a way you can look up their full file path. many editors waste a full menu on that but frankly i use that never and beside that most uses are already covered by the automatically generated menu on the AUI::Notebook. sir_lichtkind 2009-12-10T01:47:36+00:00 journal bookmarks and marker in editing (programming) (or caring about details part three)<br> <br> Kephra 0.4.3 will come soon and the beside the finally arriving utf support it will also have markers. its the same thing notepad++, kommodo and scite call bookmarks. Not that I want to be different, but its not the same thing as the bookmarks Kephra has for nearly 2 years and I also believe that these terms are more correct. <br> <br> Nowadays that browser often set the standard, what UI means, a bookmark is a link to specific location, which marker's aren't. You make marks in your rifle or book and go just from one to the next to search the places you previously highlighted. Thats what Kephra marker do. Only with nicer icons and more TIMTOWTDI in the UI. Of course you have the known key binding, but you can also use them by mouse directly (toggle with left click on the marker margin) or by context menu (right click on the marker margin) or navigate them with icons in the searchbar. <br> <br> The Kephra bookmarks have numbers and you press the key (ctrl+number) to jump directly to that spot. A fast way to navigate, if you have to switch between 2 or more places often. Marker highlight more places of interest that can also be set by search functions or an debugger. And marker can be saved in session files and file history. So if you open a file again all your marks are still there, but the bookmarks turned into marker because there could be a conflict. Every bookmark has an uniquely given number. <br> <br> Nontheless: after a restart of the app all the bookmarks and marker will still be there. I even found a way to set and delete bookmarks by mouse (middle click on marker margin). Present bookmarks will deleted or the free bookmark with the lowest number will be set. because bookmarks got new nice white icons with its number in it you can see which bookmark is on the spot. <br> <br> Yes that all are not the biggest IDE features, but we tend to make one well thought out and complete before we move on. And Kephra 0.4.4 will be about something completely different. sir_lichtkind 2009-12-07T21:03:43+00:00 journal Why do you use Kephra? My brother asked me recently this question, because after his quick view over the net pages it seemed to lack great, shiny and distinctive features. He never used Perl but this question is also relevant to many programmer here, because Padre promises some big features Kephra don't seems to have on it's list and Eclipse and Netbeans (what he uses beside Notepad++) seem to play in another class. <br> <br> First of all Kephra is very stable (we achieved to close the last known bug/issue last week) and in itself complete, which I consider a feature. Las week I read that eclipse has issues(clear bugs) that weren't fixed in 6 years, with no hope for the future. <br> <br> My positive reason to use Kephra: I'm very fast with it. I'm used to a lot of function that I even could not tell if asked so the precise answer to my brothers question came to me days later. <br> <br> For instance in regular formated code there is one command in one line. And when you rewriting code you move lines and delete lines, copy lines. That are all things that I do within Kephra directly. &lt;Ctrl&gt; + &lt;Alt&gt; + &lt;Cursor&gt; moves the current line (like in open office, but they choose this key binding independently). &lt;Ctrl&gt; + &lt;Shift&gt; + &lt;C&gt; copy the line, &lt;Ctrl&gt; + &lt;Alt&gt; + &lt;L&gt; and &lt;Ctrl&gt; + &lt;Alt&gt; + &lt;RL&gt; chops the left or right part of the line (devided by the text cursor (caret)).&lt;Ctrl&gt; + &lt;Shift&gt; + &lt;Del&gt; deletes the current line. this all are smaller things, misplaced in buzzword ejakulations, but to me its important. Beside that there are some larger features in the queue. <br> <br> P.S. Yesterday i fixed the line move feature a bit. The curser moved always to the begin of the line, not anymore. And the notepad, that shows the first signes to slowly morphing into emacs-orgmode (which i admire and want to have in kephra ASAP), hast this feature now too. I use this often as todo list, where easy moving lines by priority is good to have. sir_lichtkind 2009-12-04T13:38:24+00:00 journal User is (should be) King In recent Kephra refactorings, I changed a behaviour of the autoconverter. It works now a bit differently then in common editors, but it is not a big thing. The mindset behind it I find important. It's also very satisfying to see it working in Kephra the way i feel is right. <br> <br> The topic is EOL, which is the 3 letter acronym for the end of line character, the things you usually name in perl "\r\n". And what is an autoconverter? That is an algorithm that changes a file content while loading it into the editor, before you can touch the text. Don't worry, it will be done only in case you request it by changing the default settings for opened files (file &gt; defaultsettings &gt; open). Sometimes its what you want and I believe in freedom. <br> <br> However I prefer to notice it, when my editor changes something without asking. I prefer it also to redo this kind of change easily. but please no popups or special widgets or visual noise of any kind. <br> <br> The solution I found was embarrassingly simple. after loading the file I reset the undo history and make the formater after it, followed by a save call. You will notice that a formater did something, because the redo button has color. normally the button is disabled when you open a file. and if you like, just push the redo button. I love it. <br> <br> There are many details more<nobr> <wbr></nobr>... sir_lichtkind 2009-11-28T14:47:57+00:00 journal releasing on sourceforge while releasing Kephra 0.4.2 on sourceforge, I noticed that the changed their system completely. Its now much simpler to use, but 3 tricks there are still. Better you know them in forehand. <br> <br> Step 1: mark the folder you want to put your uploaded files into, by right click, open the context menu and select the second item: "upload here". if you don't do that the file will appear at the bottom of the filetree. <br> <br> Step 2: upload a/the textfile, containing the release notes. after its uploaded and appears in the tree, select the file and check the box "release note" on the right margin. These will be exactly the release notes as before, that appear when clicking on the scribe icon behind a file. <br> <br> Step 3: upload you files. then select them one after the other and give them in the same box on the right margin labels and select the fitting release note from the dropdown menu. Save this settings and do not select the platform this file is intended for, unless you want to be this file the default download for the entire project when a user uses this OS around his browser, surfing on <br> <br> Nice Bonus: MDA5 and SHA1 digest are generated automatically. sir_lichtkind 2009-11-25T21:11:43+00:00 journal after the long 0.4.2 The release of Kephra 0.4.2 thought me lot of things. Yes it was inevitable that after a long complicated internal rewrite, a lot of nifty bugs poped up all over the place. It took nearly 3 days to get a devent version for a rerelease. <br> <br> It demonstrated also that my roadmap was to static and that the steps are to big. 0.4.3 will come much sooner and concentrate on only one issue: codings. <br> <br> shows the first signs of that: a statusbar field to display the current coding. I used this opportunity to create the status bar from a config file and sync the position of context menus that change some values, displayed in the statusbar, with its status bar field. Thast was a lot for just one day. sir_lichtkind 2009-11-20T22:32:00+00:00 journal Kephra 0.4.2 released Yes thats an important one and the first bigger release of the Editor that keeps beauty and integrity in mind for several month. <br> <br> We had a larger internal rewrite to cure a very shortsighted design decision but there is also some good and new stuff for the user. The code folding was brought into final shape (for now). The new tabbar now allowes to move tabs by mouse and some new formater for HTML enteties I needed for some time. But to me is the biggest improvement that all the little nasty daily annoyances are gone. In other words using Kephra feels much better to me now. <br> <br> After all there are still some minor issues, with the CPAN installer too, the testsuite is under heavy construction, the icons are under redesign and our shiny unique logo will appear soon. So this was just a first sign life with the main message: "We fixed the code base". sir_lichtkind 2009-11-17T23:16:57+00:00 journal WxWidgets 3.0 on the horizon As the <a href="">Wx roadmap</a> points out, all major goals for the next big release are met. They write: "We hope to make 3.0 in the first half of 2010.". Yes, Wx development is slow (meaning conservative) but why wait for so long? <br> <br> For the Perl world Wxwidgets 3.0 could have some impact. The unification of several codebases speeds up development and Wx, already mature and feature-rich could improve faster to something that enables professional large WxPerl apps. Something I've been advocating for years. <br> <br> I hope it improves especially in following parts: writeable XRC, more consistent AuiNotebook (see my last post), native filebrowser as a an integrated widget (not a dialog), improving WxHTML, simpler API and more powerful tree control, easier access to the accelerator table. I like it very much that Wx people care about details and gradually improve to remove all the itches sooner or later and there are lot more corners to sweep. But i have the feeling that some larger things are still missing. When i have some ideas about that i will post it. <br> <br> have fun sir_lichtkind 2009-11-11T22:08:09+00:00 journal Never get clean? subtitle: fun with Wx::AuiNotebook<br> <br> In the German <a href="">clean dev site</a> they teach you how to write good code. One of the first rules is Kiss of course. Maybe thatswhy I never will be a superhacker, but sometimes its too temping to me to spit out something thats more complicated. But for a good reason.<br> <br> As we are approaching the release of Kephra 0.4.2 i do polish and therefore want to reduce flicker were I can. If you know browser with tabs in a tabbar you have the idea of Wx::Notebook. I switched from Wx::Notebook to Wx::AuiNotebook, because the second looks more pro and the tabs can be moved my mouse. they can't be moved by keyboard, but thats not too hard to implement. The hardest part is to hack the Accelerator table with Wx::AcceleratorEntry or just disturb the expected object hierarchy so that the keyevent will not delegated to the notebook. this sounds first hilarious but it will later become clear, why thats necessary. if you get the key event, just store the label and panelobject. remove the page and insert it on a new position. if you do this you have a new order of docs, so you need an translation-array to keep track of those changes. <br> <br> but <br> <br> If you drag the tabs per mouse events are fired. one when starting, many during and one after you finished draging. With the begin and end event you can catch the visual position of the tab but the mean thing is that the index of the moved tab will not change. So I had 2 choices. a) build another translator between visual position and doc number or b) just remove and reinsert the tab so that the indices are again in sync with the visual order. Of course I took a) because I dont like the flicker, even if that solution is not Kiss. But maybe i kiss a nice girl instead. <br> <br> Now you know why I need to hack the accelerator table. because naturally the notebook grabs the key event for the expected key kombination to make tab switches with. and will be switched in the tab index order and not the visual order, wich is annoying. also the key combination for tab move will be blocked, because for comfort you need something similar (I choose the tab switch keys + shift). So I really needed to hack it this way. sir_lichtkind 2009-11-10T00:09:31+00:00 journal Kephra Thats an important release. Yes not a stable and complete one(0.4 is very stable), but the first usable after the large rewrite, which shows mostly all benefits we did the rewrite for. And i don't mean polishing the folding, but to have document switching without side effects. sounds normal but impossible with the hack I introduced shortly before PCE 0.2. But 0.4.2 will bring also so new features, mostly mentioned in my last post here except this two: you can choose, where the opened file appears on tha tabbar(leftmost, rightmost or left|right beside the current) and the file history will be a normal session file so if you reopen a file from history of closed files, it will be restored with all the sttings you defined for that one. <br> <br> so if you like play with it, goto <a href="">my treehouse</a>. It should be also on CPAN soon. sir_lichtkind 2009-11-06T10:12:31+00:00 journal progress and tools yes Kephra makes progress. I'm messing with internals and I hope to see daylight soon. meanwhile I wrote some helper scripts for our designer to convert icons and test them in toolbar, if they make pixel fuzz. A test script that I wrote for me checks integrity of most configs and if they are in sync with the inline defaults. that took me too much time to check them by hand. now it takes only 2 secs. <br> <br> Preparing 0.4.2 I have to say that this version will not bring to much new features. yes kephra does not crash anymore if you delete an open file and the folding keeps the same if you switch documents for and back. there are also now links in the menu to oben our website and some other minor adjustments. <br> <br> Beside the new HTML-entety converter are the 2 big fields that 0.4.2 improves tabbar and folding. the key and mouse handling of folding reached a stage that I'm satisfied with. other editors have 4 fold functions. We too, but our do much more. we have not open/close for singe/recursive folding but toggle functions for single/recursive folding on the current node and also toggle functions for sibling-fold (if you collapse a sub, all subs are collapsed) and toggle all nodes. All 4 can be done via menu, keyboard and mice. but hej maybe you want to interrupt me: there are only 3 main button on the mouse. True but you can click lust button while holding the right<nobr> <wbr></nobr>:). This may sound horrible on paper but honestly you seldom need the fold all and to me its very intuitive, to use more force (2 buttons) to change all nodes. <br> <br> the other thig is the tabbar. i switched to AUINotebook to. It looks more serious and has moveable (with mouse, with keyboard you could do since 2 versions) tabs. i want also add the feature that you can choose where the new opened file appears. leftmost, rightmost or left or right beside the current doc. finally there is still the UTF bug i hope to kick till this or next release. <br> <br> there also more things goning on but i will show them if there ready to present. sir_lichtkind 2009-11-02T21:57:06+00:00 journal when is Kephra fast? it is one of the nice possibilities of Kephra, that i can implement small changes i need (in this case renee) immediately. See <a href=";revision=350">this patch</a> that implements his idea, that empty lines don't should be indented. sir_lichtkind 2009-10-24T09:40:47+00:00 journal What really is Kephra <p>even if I write Kephra is an editor, i mean really that i want to keep things small and simple not to ditch a feature that can make coding easier.</p> sir_lichtkind 2009-10-17T16:58:37+00:00 journal Translator wanted. Yes for Kephra too but now for my Perl 6 tutorials. As I put my <a href="">other tutorial</a> now online and started it to copy in TPF wiki too we need lot more brainz than mberens++ and mine for all the <a href="">stuff</a>. sir_lichtkind 2009-06-08T22:57:55+00:00 journal Isn't it interesting? i'm writing on my wxPerl workshop and so I also enhance the WxPerl tut in the perlde wiki (will maybe part of my one tolk in lissabon) but far more interestingly i found out that a pearl corresponds to binah (for those who dont know what is: hebrew word for primal female energy). And when i look into my deck and see the ATU which corresponds to binah i see a camel.<nobr> <wbr></nobr>... maybe larry knows more than he tells us. sir_lichtkind 2009-04-26T11:02:15+00:00 journal announcing GraTa <p>yes i have enough to do with Kephra, my perl 6 stuff and the upcoming WxPerl workshop i will give i want to start a prject i longed to start for quit a while. i maybe call it grata, which is short for graphischer taschenrechner (graphical calculator).</p><p>It will be a WxPainDC with some buttons and switches do paint certain 2D graphics from a matematical standpoint and also export them as PNG or alike.</p><p>that may sound a bit fuzzy but its about some ideas i have that still condensing in my mind. and this program should be able visualize some metematical, geometrical ideas i have.</p> sir_lichtkind 2009-03-14T16:30:20+00:00 journal Kephra 0.4 pl 5 released i found a crashing bug in the stable tree and fixed it immediately. Some other things were also fixed previously but this critical thing triggered the fith patchlevel of 0.4. see details in the <a href=";release_id=666280">changelog</a> sir_lichtkind 2009-03-06T22:56:30+00:00 journal Kephra on Softpedia Yes 0.4.2 still not out but look at <a href="">this</a>. More than a month ago i started to spread Kephra into some alternative places and its starts to showing up. sir_lichtkind 2009-03-04T10:18:20+00:00 journal sanitized Kephra boot sequence because, starter is now simpler and don't have to care about logging (tha app has). main app moved to proper namespace (Kephra::App). some initial path retrieving and file moving is now unified and packed into the right place so we will be able to fork a worker thread before anything other than logging is loaded. await next release, which will be the wirst that will install smoothly on linux and darwin. sir_lichtkind 2009-02-01T22:38:03+00:00 journal great quote just a minute ago I found this great quote I want to share with you. see it please as a followup to my last einstein bashing post (to keep obama and his sith lord some days rest<nobr> <wbr></nobr>:)). <br> <br> This is what Albert Einstein said 1949, on his 70th birthday: <br> <br> <br> Now you think I'm looking at my lif's work with calm satisfaction. But on closer look, it is quit different. There is not a single concept of which I am convinced that it will stand firm and I am not shure if I was on the right track after all. <br> <br> <br> Well said. lets show some respect for the passed, and remember that there are a lot materialistic belief systems that keep peoples minds hijacked. sir_lichtkind 2009-01-16T03:05:48+00:00 journal Whats holding Kephra back? last year there where a lot of answers to this question. nowadays most of them vanished. it has a name, internals are much saner, the release tools work again, we have a recent stable version and half of website is rewritten or filled with fresh content. <br> <br> some of most demanded features where implemented but still there is one big thing. the installation cpan had its hurdles due some misquoting of install bathes in the build process. stupid bug but fortanetly fixed by recent patch from andreas kaschnitz++. currently some internals are opened to rewrite the Document::* namespace modules and to make the view::editpanel settings and events work for more than one instance of STC. when its done, patch applied and the test suite fixed Kephra will finally install flawlessly under Linux and Mac. sir_lichtkind 2009-01-12T16:27:11+00:00 journal How much Tycho is in you? Tycho sounds a bit like silence in slawik languages but here I mean Tycho Brahe. He was in the 15-hundrets a cutting edge scientist, having most precise data and contact to other big researcher like the later to be known Johannes Kepler. <br> <br> But why I'm telling all this? because afterwards everybody is wise, like an old german saying claimes and he shows a great example how things can go wrong even under the name of science. He had the data to knew that there was something out of sync with the theory that earth is middle of solar system. but he hadn't courage to think things through or maybe was to weak to question authority so he made a fairly ugly compromise to be seen <a href="">here</a>. I have more beautiful photos of ancient drawings of that at home. But my point is: that's exactly how scientist act 'til today. thats how they came with monsters like string theory. just drop the shit einstein and others once proclaimed and there will be far simpler and more elegant solutions like that explanation that all planets go in near cycles around the sun. <br> <br> Einstein did the same kind of mistake, making our dimension the center of existance and everything had to fit relatively to the observers material eye. but what if the center of all matter/energy is somewhere else and what we experience is just one expression/dimension with some really special attributes like linear time? I think that espcially einsteins ideas about gravity are fundamentally flawed and thatswhy even with 11-dimensional supergravity and branes moving throug 26 dimensional space they don't fit into the rest of physics. (remember the complicated formulas people once had to calculate planet positions on base of geocentric view<nobr> <wbr></nobr>:)). so einsteins argument for his so called relativity theory (if it calulates the reality, the theory underneath must be right) is an error like pointed out by many (also velikovsky in a letter to him). to be fair, einstein died weeks after this, but i don't think its likely that he would change he views, given what list of peoples writings he read before, like bose (einstein-bose-condensat), heim etc. and that couldn't change him too. So maybe he will be remembered as a kind of Tycho Brahe by our ancestors. <br> <br> ask questions folks!<nobr> <wbr></nobr>:) sir_lichtkind 2009-01-08T13:10:43+00:00 journal Me on Folding After a <a href="">discussion</a>, which wasn't that big like wished but i got me some insights. I was thinking about the whole thing but in the end its a no brainer. lot of people use recursive folding, it has advantages so i put it in. of course simple current node folding has to be in. thats the stepping stone for beginners. i took my new sibling fold because it was fastest and intuitive to me and of cause fold all if you want to clean up a mess. <br> <br> the second stage was the key binding. renneb++ pointed out he wanted a key binding and since it is in the kephra policies to be able to do the way you prefer. it had to be in. poth you use most i made on easier to reach kombos alt+plus and alt+minus. the minussymbolize that its about one point (like in a enumeration list) and the plus is about more. and the to are related. for the other to ops you add the shift key. And from alt+minus to alt+shift+plus its alway more you fold (in average code). so all fits logically. i was really satisfied. <br> <br> but then the mouse binding would be a problem becaue you have 3 keys and 4 actions. (you cant rely to have more keys on a mouse). right click is normally context menu but using that for folding is to complicated. i want just on clik nav and it should be done whatever you wish, or fairly close. leftclick is simple toggle fold. thats logical, understood and everybody does it, so can't touch that. middle have to be recursive all 4 folding ops perform a toggle mode. thats consistant because its looks like single fold and middle button is the next. but you do it not that ofen because once folded recursively you unfold you way mostly with simple left click. thats also a reason to put in on middle because people aren't used to click middle that oftern. and right click that is sibling fold. it looks a bit like opening context menu so the metapho fits. if searching for something you do it more often and people are more used to right click, so that fits too. but where to put fold all? after some fiddling and some practically nasty approaches i found somthing that first sounds nasty but does the thing better than expected. (yes volker p. ruleZZZ). right click when left button is down. that is the metaphor of doing all together and to take a inrun in other direction before approaching the big heap at once. since it doenst matter in which line you click it workes mostly very well. only if you fold the first head it unfolds because fold all orientes always on this first head. that can be somtimes nasty indeed but for my part the workflow is nearly natural. <br> <br> Of course all the clicking has to take on the folding margin. i wrote some subs for the right margin detextion so context menu comes now only over edit area which was a long time wich of mine. i reached a lot of these goals in alst times which makes kephra hacking to real joy again. the margin number switch which clean some dark corners but has still one: if reload conf it breakesthe msontext menu binding for right click. have to figure somthing out but were not nearly to a stable version so its time. I also inserted (optional of cource) the folding flag line. thats nice because you always se where is the gap in the folded code. padre people left that out because the black colour was too abstusive to them and thy don't couldn't change default style because this is always visible and it woul make the normal text look silly. <br> <br> actually it dindt because default style is displayed where no text is at all so you see jus beackground color sou you can colorize the foregrounf of the flag lines without any side effect. i did the in same color as the fold marker in the margin (that you can of course define in config soon in dialog too) so you can see that it belongs together. because i liked the folding marker theme of scite i enabled that too. (rotating arrows). <br> <br> So now with Kephra the chapter folding is closed and im really happy with it. to havy the most of this i have to rearrangethe main design of the widgets, and use the Wxnotebook in the intended way. and also use multiple stc instance instead of one and playing with doc pointers like i do now. that will also resolve some longstanding issues with unexpected jumpes of the visible text area when changing docs, which was another longterm issue of kephra. down side of this will maybe more RAM consumtion and i can't get stretched the tabbar over full window width when opening a panel on a side. but it will look more standeart and that tabbar belongs to the main editor unit. it also enables to make special pages like kommodo have. or insert dialogs on notebook pages. AUI will also follow but opional. so you have free draggable splitview of all doc panels. <br> <br> good enough for tonight. it will be a while until 0.4.2. sir_lichtkind 2009-01-04T01:49:28+00:00 journal Kephra on CPAN again due problems with changed policy on CPAN no accept world writable files and dirs i had to repackage under linux (there is an easier way and i will find it). Yes the test suite is the next problem but i will solve that as well. so will have and flawless CPAN installable Kephra before Frankfurt. <br> <br> Meanwhile folding gets better and better. After my <a href="">meditation</a> on perlmonks i added some function and made the margin also right clickable to fold all, but its still not perfect. i think will bring the solution to that that you have easy and efficent folding with mouse and keyboard. sir_lichtkind 2009-01-01T15:15:54+00:00 journal Grabbing Attention <p>I should maybe compare obama with hitler. But I'm not interested in flamebait, just to be understood and nobody listen if you are speak from righteousness. i even don't want to dwell on sad things so why speak about obama.</p><p>because its not about him, he is just a symptom like bush, not the problem. people in fear want to believe rather in outside things than in themself, in their ideas in their abilities, in their goals. that always caused problems. any dictator could not gain more power than people where willing to give him. if people comprehend themself as individuals with greater power than they might imagine, then we will still have different opinions but most of the brutality will be gone. cruelty comes from fear. fear comes from the thought that you can't have something you desire, which is always an illusion.</p><p>i was raised in GDR and got my fair share of brainwashing from the early on. everybody knew it that it was propaganda. but most people had some trust in the basic goodwill of mankind and the basic concepts behind socialism. in eastern propaganda nearly everything coming from west was daemonized as fascist and reactionist. and we all know that in some areas there is some truth to it like was in western propaganda. noone likes war. but in all that overstated speeches I never had a personally felt understanding how hitler could raise to power until i saw obamas speeches.</p><p>i don't say he is a fascist to throw mud, he just is. If you dissect the technical definition of fascism, given by benito mussolini, the propagated founder of italian fascism, where the term was firstly used in modern context (but with conotation with roman tradition). he described fascism as combination of all powers under one strict leadership like the "fasce" means bale. if you take a look on obamas team there is not much doubt left about that.</p><p>last time i spoke about that and got a lot of attention here, many said: how can you know that he is lying, have you ever spoke to him personally?<nobr> <wbr></nobr>.. and so on. Yeah, and gut feelings are ridiculed as truthiness. But in my case its more than about gut impressions. Watch him carefully. Listen to you heart. if you look at him its cold.</p><p>All so called leaders don't matter. you matter. follow yourself and be happy. its you life, so where you want to go today(tm)<nobr> <wbr></nobr>.)</p> sir_lichtkind 2008-12-29T20:43:19+00:00 journal Kephra 0.4 PL 4 <p>due my policy no critical bugs in current stable, there is a new patchlevel. the new improvements in eventtable from head trunk had to go in because on of the bugs was caused by event triggered callbacks that executed upon nonexisting toolbar buttons. all this is hidden behind the Kephra::App::ToolBar API, so if you call their destray all tools will disconnected from their events before.</p><p>After making the CommandList so far feature complete (maybe export on command to Kephra::Config::Tree) we are two steps closer to sane and mighty extension API shich will see daylight before next stable I hope.</p> sir_lichtkind 2008-12-25T14:00:36+00:00 journal