Sublime Text hour counter plugin - sublimetext2

Is there any plugin for Sublime Text to count how long i have been working on a project?
It could be a great idea to track the time spent on a specific project, also to get an accurate idea also how many hours to bill clients for freelance projects.

If you search the Package Control website for time, several relevant options come up near the top:
WakaTime (ST2/ST3) - "fully automatic time tracking for Sublime Text 2 & 3"
Task Timer (ST2 only) - "A simple task timer for Sublime Text Editor"
Tau Time Tracker (ST2 only) - "A simple time tracking plugin for Sublime Text 2"
I haven't used any of them, so I can't make a personal recommendation, but just by glancing at the READMEs the WakaTime one looks like it has the most features. YMMV.

To get a full overview on how long you've been doing different things in Sublime Text I can also recommend codeivate.com.
This one is not exactly project-based timing but sums up the time that you spent coding different languages and gives a weekly overview on it.
It will certainly not help billing your clients but can be interesting to track your overall work.
Additionally, it's quite fun to compare yourself to others using the same plugin.

Related

Gauging the general health of Jenkins builds

Does anyone know how to gauge the general health of all the jobs in a Jenkins instance ? E.g. A graph that shows the number of failures over time, sorta like the # tests graph provided by the Dashboard plugin.
Purpose: we have a common build framework that is used by the majority of our Jenkins builds. When we make changes to the common framework, we'd like to quickly find failures that were introduced by the changes, but it's hard to easily find "new" failures vs old failures that are unrelated to the framework change, especially since the "Last Builds" screen only shows maybe 30 jobs, and during a build storm that page will roll over pretty quickly, meaning that I can't find failures easily. I'd love to see a graph of our failures, I'd expect to see a steady state of failures. Then during a build framework change which causes failures, I would potentially see a huge spike in the number of failures, indicating that something systemic happened.
The best plugin I've found is the Plot plugin, but it's relatively undocumented and will take a while to integrate, so I was hoping someone already know how to detect this category of error.
Have you seen the Global Build Stats plugin? I haven't tried it (yet) because I just found it, but it looks flexible enough to give you something useful if you configure it right.
We use Dashboard View, it gives you a per-view enhancement like Build Statistics and Job Statics which I think are what you are looking for.
Dashboard View offers a bunch of enhancements to the view page, consider playing around with it to suit your needs and ask if you have more questions.

handwriting recognition with simple training

I've been reading (and trying) OCR programs suggested in previous answers but I'm still without a clear answer to my problem.
I need to recognize handwritten English text. The text would be multiple lines but each line is only one or two words length. The text is from a different person at time. I could ask that person to provide a training file (e.g. with the alphabet and 0-9 numbers) but I cannot really ask for a much more complicated training than this.
I need to integrate the recognition as part of another (Java) application but the solution doesn't need to be Java. I can just execute it from Java and get the results from a text file.
Any recommendations?
I've already tested Tesseract (bad results without training and training looks quite complex). Java OCR looked like the perfect solution (simple training, open source and Java) but it doesn't work well even with their own examples (anybody has had a better experiencie?). GOCR does not seem very active.
Of course I prefer free solutions but this is not a MUST (though the problem I see with a commercial option is that I must be able to integrate it in my own app which will be offered as SaaS)
From my experience ABBYY is one of the best for handwriting recognition, even without training. (It's possibly one of the most expensive too, though...) They have an SDK for Java.
http://www.abbyy.com
With a free trial, it's definately worth a look!
I am on the lookout for a handwritten text recognition software. So far the only one giving better results than even abby 11 has been SimpleOCR using the same text for both, which is a freeware for ocr but a 14 day trial for HCR!
I know I am answering after nearly 6 years. But if anyone's still looking, try using tensorflow. Their website has a simple example for handwritten digit recognition(MNIST). You can use this example and implement it for handwritten alphabet recognition (you need training data for this, I used NIST special Database 19 to get this data).

Arguments for/against using a third party "Rapid development environment"?

I just started working for a company that uses a "Rapid Development Environment" (RDE) supplied by a third party. The idea is that you can specify things like: "display data in grid", "datasource", "sort by" and it generates an a ASP.NET application that does all of those things.
I'm personally not a huge fan for the following reasons:
You are at the mercy of the RDE with
regards to what level of control you
have. For example there is no
try/catch/fail mechanism.
If there is a bug in the RDE there is
nothing you can do, you have to wait
for them to release a fix.
I'm not sure that it speeds things up
all that much.
There is no way you are going to find
someone with X years of experience
using some backwoods RDE. Every new
employee is starting from scratch
You can't integrate many common tools with it. Source control would be an example of this. While i'm sure I could take the EXTREAMLY verbose xml files used to generate the application and manually insert them into Source control there is no way for me to just right click and checkin. Even if I do that there would be nothing meaningful displayed if you do a diff...
Has anyone found these things useful? They seem like a gimic to keep costs down to me...
I don't use any tool/framework/environment/etc that I cannot bypass whenever I want to.
I don't care how good the product looks on paper or what impressing demos I'm shown.
If the product isn't mature and expressive enough to offer the possibility to work around it or hack/plug into it, I'll pass.

Toy projects for new programers

When I was first started teaching myself programming, after finishing a tutorial I would feel like I still couldn't do anything in the language. So, I looked around to find something to work on. Since I had just learned a few of the basics, the amount of work involved in finding, reading and adding to an open source project seemed insurmountable. Instead I started on a couple toy projects, which ended up being incredibly beneficial.
Having seen a lot of questions from beginners similar to "what should I do now?" and a lot of answers similar to "start working for an open source project" has made me think there has to be better advice for a new programmer. While working on an open source project surely gives great experience, there is a perceptible barrier to entry.
Instead, I think it would be great if new programmers were prodded towards working on a toy program related to some interest they have. Since there are so many directions that programming can take you, I think it would be interesting to list some simple (but fun/rewarding) projects grouped by the direction the new programmer is looking to pursue. Such as:
Game Design:
Write a text adventure (like Zork)
Natural Language Processing:
Create a program that writes meaningless, but grammatically valid essays.
I recently asked a similar question (Diverse resource of problems to show merits of different languages) and got links to sites that provide problem sets, as well as validation. Check out:
http://www.codechef.com/
https://www.spoj.pl/problems/classical/
http://wiki.python.org/moin/ProblemSets
http://projecteuler.net/
Although these problems don't oftem amount to projects, they are still interesting. I'm interested in seeing what people come up with here.
I actually think that a TopCoder approach might be better... programmers can still pick topics of interests, but they're actually working for a prize on a REAL project and they get feedback. Frankly speaking, TopCoder is a bit of a bloat and as far as I can tell, they don't allow people to make free competitions. It would be great if there is a TopCoder/StackOverflow type of site: people can submit code, get voted on their implementation and just have a good time!
I'll even pitch my idea, I'm starting to work on my own version of TopCoder/StackOverflow hybrid monstrosity called MyDevArmy (although I have not done anything so far except buy the domain).
Write a program which renders Wolfram automata (esp. Rule 110).
See YelloSoft for example code.
Start by writing a Blackjack simulation. Choose whichever strategy you want for the first run.
Next, start adding additional runs for different strategies like hitting/standing when your hand's value is 15 vs. 16 vs. 17 vs. 18, and whether the hand is soft or hard (an ace's value being counted as 1 or 11). The dealer's strategy will be constant, as they really are in casinos.
By the end, your program will run, say, 1000 instances of each strategy combination. It will print out a summary of the rate of hand wins (percentage of times you beat the dealer) for each stand value and hard/soft combination.
This is easily one of my favorite projects I've done and it can really cement some techniques in the language of your choosing. Plus, if you have the initiative to start learning some of the (fairly simple) discrete math that's involved in coming up with the odds of these situations as a side project, you can come away with an even better experience. Who knows, maybe you could ditch this computer stuff and take up card counting?

What features can improve the usability of a WebApp

i am looking for new features and ideas to improve the overall usability of our internal webapp (straight LOB-App with some CRM features)
i bet there is ton of those waiting the get found.
as an example:
recently i tried out rememberthemilk.com a task tracking application which has the feature to enter dates in natural language, so instead of using the date picker or entering the date itself, because grabbing the mouse actually takes longer (but forces you to think about what the date is), you can just write "today" or "tomorrow" or "end of month" or "in 2 weeks". that feature really got me, every time i use another application now, i wonder why i cant do this here. i wonder why other application make me thing about what date "next friday" is. i dont care! but i do care that my boss just said "i need this till next friday".
1 feature/idea per answer please.
Take a look at Nielsen's list of 10 Heuristics for Usability Design. Entire courses and books are designed around these 10 laws - they're very appropriate and I really wish more companies would use them (I'm looking at you, Adobe).
http://www.useit.com/papers/heuristic/heuristic_list.html
Learn User Experience Design
...developers are nutoriously bad at developing usable interfaces for their applications. We make them to make sense to us but not the user.
One of the things that stuck with me about human cognition is that the human mind can focus the best when it has to concentrate best when it has 5 +/- 2 things to worry about. Therefore the most effective interface will, at most, present the user with 5 +/- 2 elements to work with at any given time. Otherwise, they will be overwhelmed.
The #1 way to improve the user experience is to do some usability testing, find someone who is unfamiliar with the application and ask them to do some simple tasks, record the session with screen recording software.
Sometimes it's difficult for people to explain why they think using an application is difficult, simple watching someone perform basic functions can help you find issues that the user may have have considered to be a problem.