Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
We all know that having a good note taking tool is important as a developer.
However, OneNote and Evernote forces us to be locked in to a particular vendor.
Anyone know of good open-source tools, or even other method of taking notes w/o being "locked-in"?
EDIT: I should kick myself in the head for not specifying. Taking text notes is easy. I'd love to be able to write ink notes ( I use a tablet ), add images,and sketch GUI ideas.
Pen and paper.
Try the one file tiddlywiki for which you can get even shared hosting here.
Use a text editor and save as a text file. Guaranteed no lock-in whatsoever.
The open source xournal is what I use. It also lets you annotates PDF files, by using them as a background instead of the more normal blank, lined, or gridded. Very similar is gournal
There are also the java apps in the same space: jarnal and notelab
Try the ones that work on your platform and see which you like. I don't believe any do handwriting recognition, which is a shame, but they all seem to be pretty usable.
Evernote doesn't force you to be locked in. You can export all your notes as plain text or HTML.
http://www.vimoutliner.org/
http://www.vim.org/scripts/script.php?script_id=861 (Vim Wiki)
http://skawina.eu.org/mikolaj/vst.html (Vim ReStructuredText)
(Or another personal Wiki system with vim, just google it).
Plain text all the way...
FreeMind mind mapping editor
It might help a little bit if you elaborated a little on what features you want from a note-taking tool.
Emacs with outline-mode is one option.
While it's not exactly a note taking tool, I create my notes using OpenOffice and save them in my Dropbox folder so that they're available on every pc I log into. It then syncs those notes onto every PC you have it set up on.
Alternately, you can use Google Docs.
I've always used Notepad for quick stuff. From Microsoft:
To create a log file in Notepad:
1. Click Start, point to Programs, point to Accessories, and then click Notepad.
2. Type .LOG on the first line, and then press ENTER to move to the next line.
3. On the File menu, click Save As, type a descriptive name for your file in the File > name box, and then click OK. When you next open the file, note that the date and time
have been appended to the end of the log, immediately preceding the place where new text > can be added. You can use this functionality to automatically add the current date and
time to each log entry.
It's simple, but only works with Windows > 2k.
You should also check out What do you use to keep notes as a developer.
Pen and a nice Moleskine Notebook
Notepad and/or VI
Well, I should reconsider Evernote. As it has a public API it's not that much of a walled garden and I wooudn't mind the "locked to vendor" thingie :)
Evernote API
One more vote here for Vim.
It is open source, available for multiple platforms and there is no lock-in, because the files are accessible with other text editors (except when encrypting with the built-in mechanism, but that would be deliberate lock-in).
Drawbacks:
It might have some slight disadvantage in ease of use and is not really able do handle filetypes other than text.
"TodoPaper is a simple, lightweight, and easy to use to-do list application for Windows." plus it's based on plain txt files.
I usually use a mix of a spreadsheet program (export to csv in event of lock-in fear) and a plain text editor, with one file per project, or a folder for projects with more notes. I usually use a sheet of paper as quick notes, but always commit all notes to disk before allowing more than a full-single sided sheet of paper to be filled.
I build one based on python and html editor, it works well for me, you can get it from github: MyNote, it loos like:
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm looking for a tool for automated testing. I will use scripting for testing, rather than just automating, which means that it can't just send some key-presses. It needs to examine the app's window to see if it was updated correctly. The cheaper the better, with no downside limit on cost. ;-)
I need a real language, with functions, variables, loops, branching, etc., and the apps are developed in Delphi.
I need to be able to focus controls*, wait for windows to appear, search for controls/windows, send keyboard input and check that various windows/controls have changed state (e.g a button is now disabled, a text box contains the correct text, a dialog box opens, etc.).
I used to use AutoIt a few years ago and am now coming back to scripting. I wondered if there has been any new development while I was gone.
Any suggestions?
* I do not want to move the cursor to absolute coordinates in case the app's layout changes. This quote from Wikipedia explains why:
Regression testing becomes a problem with GUIs as well. This is because the GUI may change significantly across versions of the application, even though the underlying application may not. A test designed to follow a certain path through the GUI may not be able to follow that path since a button, menu item, or dialog may have changed location or appearance.
I believe you just described TestComplete by SmartBear Software.
Autoit does everything you listed. I use it for the same porpoises all the time. Also, Delphi is good in the sense that uses standard windows controls which makes it very easy to hook into.
I've had some success with sikuli, which has the advantage of being python (jython) code. It is built on top of OpenCV, and uses a full image processing engine to pattern match parts of the screen. It also contains editors and functions for screenshots, waiting on changes, as well as keystroke and mouse injection.
Something different from my other answer: PyWinAuto
It has full scripting (because it's Python), it uses control names instead of X, Y coordinates, it waits for windows and you can send keypresses. And it's free.
The downsides should be obvious :)
To automate a delphi application main problem i found was that the any testing tools (QTP with delphi addon , Test Complete , Testanywhere, autoit, sikuli) they all dont detect any Tlabels and Tlist and and other components, which for an application build in delphi forms a prominent part of the UI. Even to do func based testing we need to ultimately examine a component in the front end to see whether a func is giving right out. Even to right a script to automate we need to first be able to detect and add the object to the repository.
We have an application in which we have heavy dependency on a lot of third party components. I have tried to check feasibility with almost all the tools available in market.
The top two tools in market were of no use.
QTP with Delphi addon is of no use even in there website they have openly mentioned it wont support many classes build in delphi.
TestComplete its better than QTP where in it detects many components menu components and if i remember correctly grid etc.
Then after few googling i found
TestAnywhere which was certainly better in detecting the thirdparty build components. Only problem i found with this was that it was not detecting Tlabel classes and some components dont remember which.
When i speak of detecting components it may be partial or fully ie some tools were able to detect that there is a component at XY co-ordinates but failed to get the component classes or details (like components property name etc) without which it was difficult in automating and writing a script.
Rest all was more or less combination or subset of these above there.
Still Searching !!!!!!!!!!!
With TestComplete, if you compile your app as an open app - i.e. include their libs, it makes your app super inspectable. Great for testing, probably not best for security. Test complete was the best, it is just TOOOO expensive for my budget.
The scripting in it is great, the understanding of Delphi is great. The pricetag is just not great, especially if you are trying to get traction for GUI testing within an org, like it sounds like you are.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'd like to introduce my young cousin to a bit of programming. Ideally ruby, as that's what I'm familiar with. However finding a suitable text editor is a real pain. All I need of the editor is the ability to type a few lines of code, press 'Run' and get some results (or not, as the case may be). The simpler the editor the better, I don't need Netbeans, Eclipse etc. What I want to avoid is the necessity of using the terminal to run scripts, TextWrangler, Textmate and IDLE for Python can do this.
Unfortunately I need something that will work on Windows, or Ubuntu, otherwise I would have just installed Textmate on his laptop.
Any suggestions would be greatly appreciated.
You can do this in SciTE, which is bundled with the Windows Ruby installer or can be downloaded here. Click Tools > Go or press F5. It's an all-around good (and fast) editor with not a lot of bells and whistles.
This might require some configuration to make sure SciTE knows where your Ruby executable is. I believe the configuration for this is in Options > Open ruby.properties > command.go.*.rb.
On Ubuntu... How about the good old Gedit application? The Tool Launcher Plugin will enable you to run any external task (including the execution of the current open file.
Many thanks for all the suggestions, though having tried multitudes of editors, the option I've went with is Geany.
http://www.geany.org/
I couldn't get ScITE to work properly with standard input on either Windows or Ubuntu.
Ruby is a great language that could also be attractive to absolute beginners, however, the fact that the ruby installer does not include a basic editor that can be used in a self contained manner (to write and run scripts) really hinders its use for beginners.
This struggle to find an editor that could be used for writing and running ruby scripts almost had me resorting to python!
redcareditor has a "run" option under plugins -> execute
it's quick and dirty :)
I've used SciTE before for that sort of purpose. It reportedly works on Linux as well as Windows, but I haven't tried the Linux version myself.
Take a look at FreeRIDE for an IDE-type solution. You can also run code directly from the SciTE editor.
Well, on Windows, you can get E-Text Editor. It's basically a TextMate clone for Windows that runs TextMate commands and snippets.
30 day trial, then a little under $50 for full version.
I have no affiliation with the creators/owners of E-Text Editor
I use two editors that way, one is old school but only for Windows: Textpad , it also lets you enter parameters. Because of its popularity and power i'm trying to switch to Sublime Text, it is multi OS.
It takes some effort getting used to because i worked with textpad for many years but is is very powerfull and for Ruby development it is now my favorite workhorse. You can also find many tutorials and Youtube demos because of it's popularity.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I really want to know if I'm missing anything obvious in the software I'm developing.
What User Interface features that you consider important are often missing in most software?
Undo is bitchy to code, but very useful to the end users.
Save the location and size of all/any windows, so they are restored whenever the program is restarted.
Read this article on Undo from a usability expert (Aza Raskin): Never Use a Warning When you Mean Undo. Coding undo is not all that hard: examples [1], [1.5], [2].
These are some of the UI features that I often find are done badly, or are even missing:
Restoring window state properly.
Conforming to the average (non-beginner, non-expert) user's mental model.
Restricting the number of choices that the user has to make.
Restricting the amount that users have to read while using the app.
Strong consistency with other apps of the same genre running on the same platform.
A well-done Undo / Restore facility.
As somebody else remarked, context-sensitive help.
Allowing an app to be navigated without the aid of a mouse.
Good multi-monitor support.
keyboard Shortcuts
What's usually left out in UI's? Nothing! (literally. empty space). The question is better asked "What can be taken out?". When you have to think of what else your UI needs, you have already gone too far. Leaving out empty space is something UI programmers need to work on. Nobody likes feature creeping.
Remember the KISS rule.
A help menu with more than About...
Context sensitive help
Tool tips
An API and a scripting language so I can bypass the UI.
Seriously. Nothing is more tedious (and error-prone) than having to point-and-click through some repetitive process.
Right click context menu on things like tree views and grids.
We have an record management application here at work that I have to use now and then and they don't have right click on any of the documents in the treeview so you have to keep going to the bottom of the screen to mark a task as completed grrr, and no keyboard shortcuts too grrr
Consistency in your design... There are too many apps that "look" like a programmer wrote them. I can't stress enough!
Automation... Office has it, I wish more apps did.
CLI... As mentioned above, especially if it's a repetitive-wizard-type process
Templates/Presets... like Handbrake... make life easier, not to mention handy in the training process
Error/Confirm messages which don't get in the way... Unless the user needs to take immediate action, don't display a dialog. If the error is obvious, fix it for me and then tell me why
Scalable UI. With WPF this is getting easier, but it is annoying if I'm on a large monitor and I have to squint to see anything. Not to mention my click accuracy isn't that great.
UI Consistency.
I know I've been guilty of leaving out printing support in the past. I would never use it, but some of my users do.
drag and drop
clipboard
Good design.
Leave room in your dialogs so if you internationalize it, you have room for longer words (think Italian) and bigger fonts (think Chinese).
I'll add a few myself that have't been mentioned yet:
Non-modal forms that can remain open while other work is done.
Ability to view multi-windows at once (instead of tabs which show only one at a time)
Ability to have multiple views of a single window at once, i.e. split mode, or panes, or actual multiple windows into the same object.
Clean and intuitive.
Clean icons. Good icons. Meaningful icons.
I am very disappointed with a lot of icons inside applications — especially on Windows ;-)
actual consideration for the user seems to be left out quite frequently:
using terminology that makes sense to the programmer, but not the user
organizing the application's workflow for the convenience of the programmer, but not the user
not considering the user's work processes in the first place, and finding ways to help him/her eliminate steps and simplify things
Being able to use drag and drop to customise the toolbar and to be able to remove/hide unwanted toolbars without leaving an unused button whose only purpose is restore/unhide them.
Freezing the application when it's doing something that takes more than a second.
Not showing users what's happening, and not indicating how long it's going to take.
IMO, user name and password login options need work. I understand there are security concerns with each of these options. The risk-trade off is different for each application and needs to be assessed on an app by app basis.
Often forgotten or poorly implemented features include:
Remember Me
Forgot password
If you have a restrictive password policy, give me a hint as to what it is!
Range for # of characters, no special characters, required numbers or capitol letters, etc
Forgot username
If my username is not my email address, give me a hint to your username policy
Kind of too general a question. It would depend on what does the application do. One thing I see often missing from gui applications is an easy way undo mistakes and not only in the object you're manipulating but also on program UI elements. Closing some floating options panel or toolbar by mistake and then having no idea where is the thing enabled frustrates me to no end. Is it under Windows? Or under View? Was it this one? no that one is for something else entirely. Gah! what's it called?
Cycling through links and fields using the tab button.
Left click drag to highlight, right click for context menu with option to copy highlighted text. Found missing from some applications coded in Java.
Windows that snap to other windows and screenboarders. KDE and Winamp do this, and are the ones most famous for it. Why don't a whole host of other applications and DEs do this?
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
Granted knowledge is best retained when put into practice, but as programmers I'm sure there's just too much information. Besides annotating your books, what other methods do you use for your own personal knowledge-base so you can have an easily accessible reference?
Do you create your own wiki or use software like wikidpad, or save them as plain text, bookmarks, pdf, web pages etc..? Or do you just treat google/SO as your giant knowledge-base and search only when required?
You may find this similar
https://stackoverflow.com/questions/10961/have-you-used-a-wiki-in-your-project-or-group, and of course this question can easily relate to non programmers as well.
Blog about it. That way you'll always have it no matter where you are, and that information gets shared with others.
I use Tiddlywiki to keep all of my development notes together, other than notes or handouts that I might get at a meeting that I want to keep. Those go into a folder for the particular project and I add a reference to them in my Tiddlywiki so that they don't get lost in the shuffle. I tag everything with a limited set of tags (rather than going overboard with the tagging, I have a set of 15 tags that cover the projects and categories I need) so I can get back to them quickly.
Works for me.
Otherwise, I blog about them as needed, use drive indexing for massive searching across lots of stuff, and keep a short daily summary of activities (1 or 2 lines) for better recall.
There are several solutions that I have seen people use successfully:
blog about it (as others have noted here)
maintain a Wiki (local or hosted)
keep it in a plain text file
use Backpack
use a hosted office solution (Google docs, Zoho)
email it to yourself in Gmail (yes, really :) well, makes stuff easily search able)
I personally use a TiddlyWiki (easy to use; very good search) which I carry around in a USB pen drive and which is also checked in to my SVN repository; and a small "notebook" (created from here) which fits neatly in a wallet, to jot down things when I am not near a computer.
Start a wiki.
ScrewTurn is what I use.
I've been storing my notes in Google Documents(google.com/docs). I've tried wikis but the cost of setup and maintenance hasn't been justified yet. I may need to look further into this option as my set of notes get larger.
Another thing to consider is ye olde programmer's physical notebook. Paper and pencil should never been underestimated in this digital age.
As far as personal Wiki software goes, I've been a big fan of VoodooPad for OSX. It's a nice self contained Wiki applications. No need to maintain a web server or have your Wiki hosted anywhere but your computer. Plus you can export into a variety of formats. It's very inuitive to use and can store just about anything you want.
It should also preserve syntax coloring if you were to extract a code sample (I don't have it in front of me so I cannot confirm).
I like Treepad for organizing notes. It's based around a tree structure, and each node can contain a text document, and have child nodes.
It's not particular designed for programming, but it's very easy to use.
org-mode for Emacs. I use it for planning work (short- and long-term), TODO items, random how-to notes (with clicky links to source files and URLs) — All in one single flat file. It has unicorns!
I use codekeep to store my code snippets
Occasionaly I store a few notes on google notes too
Mostly in a plain text on a flash drive, which is in the key ring along with keys from home. Plus eventually backups on the web site. This makes it available on any platform and in any place, wherever I go. There's still places without internet access you know.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
My Situation: I love e editor, however I'm on a new computer and my license is being used on my old one. I can't exactly afford another license, so I'm looking for a free editor that meets the follow criteria:
Decent syntax highlighting
Ability to view a directory and its contents on the side panel, without the need to create it as a 'project' (Very Important)
Easily themable (I like dark themes)
Tabs
Also would be nice:
S/FTP support
Code snippets/bundles
Multi-line editing
And is not (Simply listed because they're common suggestions, but I've tried and not found them to meet my criteria):
Vim/Emacs
Notepad++
Crimson/Emerald Editor
Programmer's Notepad
Wordpad/Notepad :P
Thanks. Oh, and as a reference, here's a picture of my current setup: Link
Edit: Thanks all to those who suggested. All 3 (JEdit, Cream, and PsPad) are solid candidates for anyone looking at this thread.
You're willing to spend all this time and effort asking about and evaluating other editors which will almost certainly not have all the features you want, yet you can't shell out $35 for another licence?
When I'm making decisions like this, I always value my time at $100/hour so if this were going to take me more than 20 minutes, I'd just buy another licence.
Time is the one commodity you can't recover; you can always make more money...
You may scoff at this, but Cream is a very un-Vimlike offshoot of Vim. Here is an article written specifically for Textmate (and e) fans who want to try it.
jedit. I believe that it does everything on your wishlist.
PsPad. Excellent free text code editor.
Also does FTP site based editing as if it was in a local folder. very handy.
When you register e, the license is bound to you, and not to one specific computer. This means that you can use you license on as many computers as you like. There is also no limit on platforms, so it will also be valid on future versions for Linux or any other OS.
http://e-texteditor.com/blog/2007/licensing
There's no need to buy another license!
Pick your poison here: http://en.wikipedia.org/wiki/Comparison_of_text_editors
I would like to recommand Gedit. There was Windows version.
I haven't ever used Mac but I think Textmate must be the best text editor. When I'm on Windows, I really like e-Text editor. But later, I have to move on to Linux(Ubuntu) for an requirement. I searched for Textmate/e-Text editor like text editor for Linux.
I found out, Gedit is not a bad one. Here is my Gedit...
By your requirement, Gedit already have a decent syntax highlighting and Tab. Didn't have Project pane but Document List and File Browser combination is not bad, I think.
Easily themable? Gedit haven't many ready made themes. But you can easily create your own themes by creating xml color schemes base on default themes (In ubuntu 8.04, default themes directory is /usr/share/gtksourceview-2.0/styles).
As for me, Embedded terminal, Word completion and Code snippets are also important. Gedit have plenty of useful plugins for those feature.
There were many customization tutorial for Gedit. You may need to spent your time on customization. :)
try Komodo edit, its free and can do the things you mentioned afaik.
http://activestate.com/Products/komodo_ide/komodo_edit.mhtml
The sidebar folder feature is called "live folders, and its on the right side bar. It also has vi emulation, dark themes, tabs, sftp support etc..
You also might want to take a look at EditPlus.
The e text editor license is per user not per machine. So, you don't need to buy another license to use it on a different machine, just copy the license.