avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Monday September 25, 2023, 8:35 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - TPReal [ switch to compact view ]

Pages: [1] 2 3 4 5next
N.A.N.Y. 2008 / Re: Tim - Image to Text Converter
« on: January 29, 2019, 03:25 AM »
Sorry, I don't remember this now, I haven't used C++Builder in a very long time... But if you try running the program, it will tell you the first missing one, I think, maybe it can be found somewhere.

Haha :) just note that the code is pretty old and it was actually my only AHK program :) so code quality is probably not the highest possible.

MSc went pretty well, thank you :)

Hey, I just edited the original post and added ahk and exe as attachments! Feel free to download the source and compile yourself to be sure it's safe.

Do you use latest version of Chrome?
Could you please open the browser console and see what is the error there?

OK, I think I fixed the font issue.

N.A.N.Y. 2017 / Re: NANY 2017: SLogo - turtle graphics in the browser
« on: December 30, 2016, 06:20 AM »
Seems related to font that you use, or maybe you don't have Monaco font on your system that I think I try to use. Definitely a bug.

As for other browsers, will try to make it work at least on Firefox, but not so soon, I'm afraid. Also I think they have a bug related to for loops.

N.A.N.Y. 2017 / Re: NANY 2017: SLogo - turtle graphics in the browser
« on: December 30, 2016, 04:41 AM »
The bug is very strange. I'm using ace editor and not hacking it too much. Do you have this problem also when you start writing script from scratch? Do you use Chrome? Do you have non-standard zoom? I cannot reproduce this problem.

I wanted to add some quick start track on the page but I might not have time to do this :( There is a lot of stuff I wanted to add (and will add eventually, I hope), but looks like I failed to prioritise them correctly.

NANY 2017 Entry Information

Application Name SLogo
Version 0.1.2
Short Description Turtle graphics in the browser with WebGL
Web Page
System RequirementsLatest version of Google Chrome (didn't test on any other browser)
Author TPReal

SLogo is a turtle graphics program working in the browser.


  • Executes JavaScript scripts
  • Uses WebGL to display image on HTML5 canvas
  • Draws lines and triangles
  • Supports color gradients
...and this is basically it. User creativity is required to make anything useful with the tools.

Planned Features
  • Animations
  • Drawing filled in polygons (with automatic triangulation)
  • Support for general 2D transformations (will allow e.g. drawing an ellipsis easily)
  • Support for writing script in Ruby using Opal
  • Possibly support for other browser with ES6 (Firefox)
  • Console output on screen (errors and debug)
  • Usability improvements


Using the Application
Go to, write your script in the code box and press F9 to run. Press Ctrl+Enter to run the selected part of the code, or the current line.
Alternatively write a short script in the line at the bottom of the screen and press Enter. Up and Down arrows browse history.

Script to produce the graphics as on the screenshot (updated):
Code: Javascript [Select]
  1. options.bgColor=0xE0F0F0
  2. options.scalerMode="unitSquare"
  4. const R=0.37*boardSize.height
  5. const u=R/120;
  7. const fracColor=frac=>{
  8.   const comp=frac=>(1+Math.sin(2*Math.PI*frac))/2
  9.   return createColor(
  10.     comp(frac),comp(frac+1/3),comp(frac-1/3))
  11. }
  13. up()
  14. col(0x206060);dot()
  15. b(R);r(90)
  16. rep(60,({count,frac})=>{
  17.   col(fracColor(frac))
  18.   br(()=>{
  19.     r(90);f(5*u)
  20.     const r2=2*u
  21.     br(()=>{
  22.       f(r2);r(90);down()
  23.       rep(12,({count})=>{
  24.         f(2*Math.PI*r2/count);r(360/count)
  25.       })
  26.     })
  27.     f(5*u)
  28.     tri(v=>{
  29.       br(()=>{f(25*u);v()})
  30.       br(()=>{r(90);f(12*u);v()})
  31.       br(()=>{l(90);f(12*u);z(1);col(0x000000);v()})
  32.     })
  33.   })
  34.   br(()=>{l(90);f(5*u);r(30);down(()=>f(105*u))})
  35.   const arcLen=2*Math.PI*R/count
  36.   down(()=>{
  37.     f(Math.PI*R/count);l(360/count);f(Math.PI*R/count)
  38.   })
  39. })

Pressing F9 stores current script in localStorage. When refreshing the page, it is loaded again (but without undo history).
Manual is missing, but many features are used in the example code. Some explanations:
  • branch(func) or br(func) executes func, and then restores cursor state from before executing it
  • z(value) sets z-index of the cursor, must be between -1 and 1
  • triangle(func(v)) or tri(func(v)) draws a triangle; func is expected to call its argument v() when the cursor is at consecutive vertices; also current color is taken into account and the triangle has gradient color
  • line(func(v)) draws a line which supports gradient, just like triangle (normal f(length) line has no gradient, just current color)
  • Pro tip: z-index is also gradiented in triangles and lines, so if a vertex has z-index outside of the -1..1 range, the triangle will be clipped accordingly

Known Issues
  • Documentation is rather basic
  • Interface is not very polished
  • Compile and run errors, as well as logged information, only appears on the browser console and in alert
  • Compile error doesn't have line information

Hello there :)

It's true I no longer read the forum, but I still read newsletters! There is always something nice there.

N.A.N.Y. 2014 / Re: NANY 2014 Release: Q-FlashCards for Android
« on: December 30, 2013, 04:22 PM »
I'm not sure Android devices are usable without logging in... And 99% sounds like a good target value. Anyway, one day the second backup option will be local to file, if somebody prefers this.

N.A.N.Y. 2014 / Re: NANY 2014 Release: Q-FlashCards for Android
« on: December 30, 2013, 04:13 PM »
Overdue question is a question that is already waiting for X% of its interval (I'm not sure about the value of X now, probably around 20). So when you add new cards, they become overdue quite quickly, but that's the point of quick repetitions - you just should answer before you forget. Once your interval becomes a couple of days or more (which happens after just 5 or so correct answers if you answer correctly each time) you probably won't hear the sound anymore - you will usually just answer cards before they have a chance to become overdue. As for "long overdue", there is no such thing in the app, maybe just the string could be improved if this is confusing.

The cloud backup is provided by Android and works automagically, I don't even know the details, I just use the API. And I verified that after installing the app on another phone, the data just gets there. However the app definitely shouldn't be used on two of your devices at the same time, I think the backup would get all messed up. So this is useful in case of accidental uninstallation of the app, or moving to a new phone.

There is also option of a local backup and restore to SD card, but it's not polished enough yet to make it available in the UI, so this will most probably come in the future.

Hmm, I'll investigate the Play Store, but definitely not yet. First I don't have time for this, and second, things like local backup and at least some form of import, should be there from the very beginning I guess, otherwise folk will just flood comments with "poor app, no importing, one star, uninstalling" :)

EDIT: As for the algorithm of changing the repetition interval, one bad answer cancels more or less three good answers. My experiments showed that this is generally a good value, but could probably be configurable. BTW, did you notice the "almost knew it" option, accessible as the icon on the bottom of the screen when answering a card? As the mini-tutorial says, long-press icons to learn what they mean.

N.A.N.Y. 2014 / Re: NANY 2014 Release: Q-FlashCards for Android
« on: December 30, 2013, 03:02 PM »
OK, feature request taken :) I'll look at this closer when I have more time.

If you want the notifications to stop appearing without deleting your cards, you can disable card sets. Long-press a card set (then select all of them if you have more) and select Disable from the menu. They will be grayed out and inactive, i.e. the cards won't cause notification to appear. The time will go on though, so when you enable them, you will most probably be asked all the cards instantly.

N.A.N.Y. 2014 / Re: NANY 2014 Release: Q-FlashCards for Android
« on: December 30, 2013, 02:17 PM »
Well, currently the notification is the only way to get to the screen where you answer the questions, so there is obviously no option to disable it... But it makes sense as a feature request to allow using as most of other similar programs work - answering questions only on demand. But the notification is actually the whole point and main idea - it reminds you of a word not just once a day or whenever you remember, but rather whenever you need to answer it to memorise it well.

N.A.N.Y. 2014 / Re: NANY 2014 Release: Q-FlashCards for Android
« on: December 30, 2013, 01:55 PM »
I'm glad someone confirms it works :)

As for importing a database of words, as I explained in the description: it's kind of a feature that you cannot import list of cards into the program - if you want to remember something, you just need to type it in first. This way you will only add cards that you really want to learn, and not just all stuff that you can find, which could turn out frustrating, and useless.

On the other hand I agree it could be useful, and it is sure to be the most common feature request. In the future I'll probably add a feature of importing a word list, with initial interval set to at least 1 day (otherwise it would be unbearable, trust me, I checked it :)). But this is a plan for the future. For now I just add cards as I go, and I'm very happy with how it works

As for Play Store, the program would probably need to be better polished, and have a webpage or something. I'm planning to do it some day if I have time next year :)

N.A.N.Y. 2014 / Re: NANY 2014 Release: Q-FlashCards for Android
« on: December 30, 2013, 07:17 AM »
It looks like I won't find many users here. Maybe there aren't so many Android users on DC. It makes me a little sad. But anyway, I renamed the post to NANY Release so here it is, my submission this year :)

N.A.N.Y. 2014 / Re: NANY 2014 Pledge: Q-FlashCards for Android
« on: December 20, 2013, 01:32 AM »
Well, apk is the thing you install on Android. I added some information about installing, but it varies from phone to phone.

N.A.N.Y. 2014 / Re: NANY 2014 Pledge: Q-FlashCards
« on: December 19, 2013, 05:09 PM »
OK, here's the app!

I added a couple of screenshots, and the apk download. I also updated minimal version requirement to 4.0.3 (ICS). Please someone at least install it and verify that it works :) as I never shared an apk file before.

N.A.N.Y. 2014 / NANY 2014 Release: Q-FlashCards for Android
« on: December 10, 2013, 05:40 AM »
It's been over three years since I last posted anything on DC, so probably it's time to pledge something for NANY this year :)

NANY 2014 Release

Application NameQ-FlashCards
Short DescriptionAndroid program for learning (vocabulary, dates, whatever) using virtual flash cards
Download link
Supported OSAndroid 4.0.3 (Ice Cream Sandwich) or higher

There's quite a lot of programs that show you some questions every day and schedule next repetition based on how well you answer. This program is somewhat different, and much more effective, I think.

The program is not fully polished, I stopped developing it a couple of months ago as it became functional and good enough for using, but I never put it in the Play Store or anywhere else. Maybe it's time to publish it finally, and NANY seems to be a great occasion for that.

  • The initial interval of displaying a flash card is not 1 day, but more like 2 minutes (configurable). This way you have much much better chances to actually remember the word at the time of the first repetition. This is based on Pimsleur's graduated interval recall system.
  • A flash card is displayed as Android notification, so it's where you see it every time you look at your phone. Answering a couple of cards takes just seconds.
  • If a card is difficult (i.e. you repeatedly give wrong answer to it) its interval is rapidly lowered to as little as 30 seconds. This is so short that it's really impossible not to finally remember it after a couple of attempts :) The program just hammers your head until you remember the word, which is good if you really want to. A specialised algorithm adjusts repetition interval after every response, taking card's history into consideration, to make learning most effective.
  • Answering a card is just tapping "I knew it" or "I didn't know it" (or "I almost knew it"), no typing to verify that you can spell the right answer. You just need to be honest, but if you're not, what's the point of any such program anyway?
  • You can always request some cards to be shown instantly, even if their interval is not passed yet. There is a couple of algorithms to select the cards to show, including an optimal mix, which asks some of the newest cards, some of the old ones, some of the most difficult so far, plus some random cards.
  • Can be used to remember a variety of things, like: vocabulary, dates, names, phone numbers, birthdays. Can be used even for information without easy textual answer, like: where is river X, where is mount Y - you can leave the response of a card empty, and when a card is displayed, just make sure you know the answer, or check it on the map.
  • Cards are organised into card sets, so you can learn multiple subjects at the same time without the risk of mixing them.

It's also kind of a feature that you currently cannot import any list of cards into the program - if you want to remember something, you just need to type it in first. This way you will only add cards that you really want to learn, and not just all stuff that you can find, which could turn out frustrating, and useless. Although there might be some kind of import feature added in the future.

I've been using the program since almost a year (it became functional in the beginning of 2013, but was never published anywhere, so I think it qualifies for NANY), and I have in the DB around 3000 words and expression of a foreign language I'm learning (plus phone numbers of a couple of people I might want to contact ICE - might get useful if I lose my phone).

device-2013-12-19-221708.png device-2013-12-19-223042.png device-2013-12-19-223853.png device-2013-12-19-224149.png

First, make sure installation from unknown sources is enabled in your device's settings (it is usually somewhere in Security submenu). Then open this page on the phone and download the apk attachment, or scan the QR-code below. Select to save the file on your phone. When download is completed, tap it to install (the details might vary between phones, if the installation doesn't start, try opening the file from the Downloads directory via a file manager).
* Q-FlashCards.apk (512.61 kB - downloaded 723 times.)

This sounds very weird, probably you are doing something wrong. Please have a look at this screenshot (although it is in Polish).

CCCCtrlC seems to be exactly what I need, unfortunately speed 10 is a lot to fast for me and I am not able to change the speed as described. Is it possible to get a precoded version with speed 50?


I'm glad you like the program. I think it'll be easier to help you pass the speed as the argument. So here's how to do this:
  • Create a shortcut to CCCCtrlC.exe (for instance drag the CCCCtrlC.exe using the right mouse button, drop it on the desktop, and from the menu that appears select Create shortcut)
  • Right click the shortcut, select Properties. On the Shortcut tab, in the field called Target element, there is the full path to the original CCCCtrlC.exe. Put cursor at the end of this field and append to it space and the speed you want to use. Now the field should contain something like 'some_path\CCCCtrlC.exe 50'. Click OK.
  • Now drag the shortcut to the Start button, Programs, Autostart.
If you want to change the speed later, just go to Start, Programs, Autostart and right click the shortcut to CCCCtrlC that you put there, and edit the target element field again.


The idea is cool :) But:
  • The window cannot be minimised. That's a big disadvantage for me. There should be a way to minimise it, and possibly making it an actual draggable window should also be an option.
  • I found a web page where it fails to identify which flash is the actual game: http://www.newground...m/portal/view/486811 . Instead of the game, it gets the four orange buttons from the upper right corner as the main flash.
  • This program is good, but it looks simple. I mean it doesn't do anything extra wonderful, just moves the flash from the web page to a separate window. As a programmer I guess it was a lot of work to programme it, to deal with different browsers and so on, but as a user I see it isn't very sophisticated. So I think I definitely wouldn't pay for it more than, say, $5, and I'd estimate the real value somewhere around $3. Let me say it once more, that's not because the program is poor, but because it is simple.


Can you at least use bold or underline attribute?

Sorry, nothing :) Really, I played with various combinations for quite a long time before I finally chose this one. I think it just has to be as it is. Come on, it's not that bad.


  • underline "_" for empty clips
  • lowercase "c" for non-empty clip
  • en-dash "–" for selected empty clip
  • uppercase "C" for selected non-empty clip

I experimented with various similar combinations (especially the lowercase 'c' seemed a good idea) but those letters vary in width and the result seems even more jerky.

Some time ago I recommended Ditto here, but recently got disappointed with reliability of the latest version. At the same time I realized that I'm seldom using older clips, and that I can live without graphic clips as well. So I tried CCCCtrlC and I'd like to thank you.

I'm glad you like it :) Thanks for letting me know.

As for your suggestions:

2. The thing that is displayed on the screen is not a form, but simply a tooltip, similar to those that are shown when you hold your mouse pointer over various elements of GUI in most programs. That's why I can't do anything more than just display text. The only thing that could be done is try to align the Cs by putting more spaces between them, but I've checked that it doesn't look better. So I'm afraid there's no way to correct it without breaking the almost no GUI principle.

1. Currently the selection doesn't cycle over the cccclipboards anyway, so I decided to extend the capacity dynamically so that you can pretend that it's fixed at any number you wish :) And using more than 5 of them is not very convenient anyway. I thought about this but finally decided to leave it as it is. Again, the almost no configuration principle would suffer if I tried to change this :) and I think it wouldn't be worth it.

- With every start of computer the exe-file of this programm has to be initilized. Why programm cannot start with computer?
Add it to Windows autostart. It's a simple program, you just need to do it manually, that's all.

- The cursor running much too fast for beginners. Speed cannot be changed. Given on -start -execute the recommended CCCCtrlC.exe [Intervall] say CCCCtrlC.exe [20] just pop the shabby grey windows-mistake-information-window. Bumm! Reply: "'CCCCtrlC.exe doesn't exist" !
Not CCCCtrlC.exe [20] but CCCCtrlC.exe 20, the square bracket is a standard notation for optional parameters. Also in the help that is displayed when you hold Ctrl+C+V there is no square bracket at all. And the option works like it should.

- Copied with normal (short-time) Shift+C the copy has doubled i.e. 'CCCCtrlC.exe [Intervall]CCCCtrlC.exe [Intervall]' - unbelievable but it's true.
I can't understand what you mean. First, probably you mean Ctrl+C and not Shift+C, second, I don't have any problem with anything double copying and can't reproduce your problem.

- There is no uninstall
There's no install so there's no uninstall. Just remove the program from the autostart. To stop the running program, press Ctrl+Ins+V and select Close from the tray icons that appears.

Fazit: Just to test your nerves and to confirm that it is better to use commercial programms
I've been using this program frequently since I posted it here, that is four months, and if I had any complaints about anything, I'd simply correct it.

So, in general, I don't agree with what you say. Of course this program is a simple tool provided "AS IS", so it shouldn't be compared with commercial products, but on the other hand I haven't found any similar program, even commercial, that I liked more than this one.


Pages: [1] 2 3 4 5next