If they read the paper (or hired an expert to read it, and summarize it to them), they would have had a much better story ("Humans are computers!"), and would have probably driven much more traffic to their site. It's weird that didn't happen...
Due to the loudness wars, I'm surprised chip music (e.g. C64) hasn't taken off more, considering that the soundwaves always peak at the maximum floor and ceiling levels.
After all, louder is better, so Monty on the Run or R-Type on the radio or TV would be heaven! (Irony being they do beat 99.9% of pop today anyway...)
How about you get one state in the US - just one - to experiment with a 30 hour work-week . It'd seem like a radical shift, but I'd love to know the outcome. Perhaps write to your local politicians about it.
Is there any other particle which could travel through the Earth which we might be able to use to send and receive information? How about ultra,ultra,ultra high or low EM waves?
I meant generalize the format of the debugging output.
Currently, his binary search demo produces 3 columns to represent 3 cycles of the loop. Yes, that's simple. If a loop cycles 1 million times, we don't want 1million columns as his binary search demo would naively produce. We want some way to cycle through that debugging output, perhaps by using a time slider (a normal slider wouldn't be appropriate, but you can get some very clever zoomable sliders which allow much better accuracy and navigation).
For a nested loop (say 1000*1000), we'd need two sliders (one being 'nested' inside the other slider) for the debugging output. You follow?
Do you ever think the trial and error approach is more beneficial? I'm thinking in terms of time. If you have good unit/regression testing, then that should cover most of the cases, and sometimes there are only finite possibilities available for the trial and error (shotgun) approach.
Well, you're possibly the exception, and can probably handle abstract thought better than most. Having said that, optimizing the speed of a raytracer, and working out a subtlety in the shadowing of a globally illuminated object is tremendously tricky to get right first time.
Meanwhile, it can't be done using a compiled language which makes it useless.
The debugging could run using a separate fast interpreter of the same language (or maybe even JIT - C# has a lag of about 100-200ms if you're careful).
Most importantly, notice that he chose a binary search on 6 goddamn items?
Yes, there comes a point where more complicated code could complicate matters. But use your imagination - whether it's sliders within sliders to control time in a double nested loop, or tree-like information which expands for a given line of code to dig deeper. There has to be a way to generalize.
He probably didn't read that, because you posted as AC (which are filtered out according to his sig). Ironically, you probably won't read this for the same reason.
Yes, I think you'd like his approach then as all the printfs are kind of done for you. Each line of code has a corresponding value, so its like every line has a printf.
I think I'm generally surprised why this story received so much negative feedback from slashdot.
It's not even a case that this idea is so neat and amazing that we should be using it. But it's that we should have this technology ANYWAY. It's taking scripting to yet another level. This would help even the geniuses who can code a ton of stuff without having to run for ages (even if only a little bit). Then again, they say ideas go through 3 stages...
Yes, and if the actual output doesn't match the expected output, then something must have gone wrong in the middle. Did you see the video? The binary search example is simple, but its basic idea is sound. To have data appear *alongside* each line in the code in realtime as you type would allow you to home in on any errors much quicker. It's like a debugger on steroids.
Did you see the video? Did you see the part where he was going through the binary search algorithm? Granted, that's an easy example, and maybe you could get it right first time.
But in more complicated examples, having the output displayed in a panel to the right to show what each line of code actually does (for given sample input); well, I think that's a massive improvement. Time spent debugging should decrease accordingly. Wouldn't you agree?
Okay, let's give this a go, well the first 25 minutes anyway. He's talking about seeing the effects of programming not after compiling and running, but while you're actually *typing*.
The first example (with the fractal tree) is interesting. He changes a number in the code, and the trunk gets taller, or the number of leaves grow. He then adjusts the variable in the code as if it were a slider, and the picture updates accordingly in realtime.
Second example is a platform game. He is able to user a slider to go back and forwards throughout time, and change certain parameters such as the gravity, or speed of the enemy turtle. To solve a problem at the end where he wants the character to jump at a very particular height, he employs a 'trail' of the character over time (so you can see all of 'time at once'). Adjusting the variable he can get that perfect jump height more intuitively. The 'character trail' changes in realtime as he adjusts the variable.
The third example is where he talks through a binary search algorithm. Usually, you're blind as you have to figure out what the computer is doing behind the scenes. But let's say you can see the output as you're typing. The numbers of variables are drawn to the right as you're typing. If there's a loop, then there will be more than one value. In this case, the values are segmented horizontally in the output.
I've thought of a lot of the things that this guy has said (and even semi-planned to incorporate his third idea into my OpalCalc program shown in my sig), but a couple of things were moderately surprising, and it's nice to see it all in action.
Wow, to be able to get code right first time without ever debugging, you must be super-human. Perhaps we should throw away the debugger altogether, and any debugging output. While we're at it, throw away any regression or unit testing. - they're only for morons.
From a quick play with EEE, I can't find that I am able to go back and adjust previous calculations. That was one of the things that made Soulver great.
For OpalCalc, I used Jint which is a Javascript library for C#. For porting purposes though, I find that I'm having to create my own RPN routine anyway. It's not all that bad tbh (unary minus was a pain to implement though).
There's a lot in the menus of OpalCalc too which isn't detailed on that page. I guess I'm a bit biased towards certain features (though yeah, lists and, 'structs' do sound very useful).
Anyway, always good to see more competition in this much neglected niche - thanks for making LastCalc!
Calculators should be multi-line like this - it's so much easier to keep track of calculations. Similar to LastCalc is InstaCalc on the web and something on the Mac called Soulver which is also very impressive.
Shameless plug: I've been working tirelessly on something like this too for almost a year, and apart from lists and a couple of other minor features, is a bit like LastCalc on steroids:
The screenshots should give an idea of what it can do, but to name a few things: it's even more like notepad, faster, can handle times/dates, and allow words in the sum (like saying "5 oranges * £10 = £50" ).
I think 2000x GPU power is very much underestimating the potential for a number of reasons:
1: Raytracing / global illumination. In comparison to games with true global illumination, current technology 3D worlds with only direct illumination (or scanline rendering) look crude and unconvincing. Objects appear 'cookie-cutter' like and colours tend not to gel with the overall 3D landscape.
Toy Story 3 took around 7 hours to render each frame. To render in real-time for a video game (say 60 FPS), you would need a processor that was around 1 million times faster than what we have today. And AFAIK, that's mostly using Reyes rendering (which incorporates mostly rasterization techniques with only minimal ray tracing.
2: Worlds made of atoms, voxels or points. This makes a world of difference for both the user and the designer. Walls can be broken through realistically, water can flow properly, and explosions will eat away at the scenery.
If they read the paper (or hired an expert to read it, and summarize it to them), they would have had a much better story ("Humans are computers!"), and would have probably driven much more traffic to their site. It's weird that didn't happen...
Due to the loudness wars, I'm surprised chip music (e.g. C64) hasn't taken off more, considering that the soundwaves always peak at the maximum floor and ceiling levels.
After all, louder is better, so Monty on the Run or R-Type on the radio or TV would be heaven! (Irony being they do beat 99.9% of pop today anyway...)
Which is one of the reasons a Guaranteed Basic Income would be a good idea:
http://www.livableincome.org/Intro.htm
http://www.livableincome.org/automation.htm
How about you get one state in the US - just one - to experiment with a 30 hour work-week . It'd seem like a radical shift, but I'd love to know the outcome. Perhaps write to your local politicians about it.
Is there any other particle which could travel through the Earth which we might be able to use to send and receive information? How about ultra,ultra,ultra high or low EM waves?
I meant generalize the format of the debugging output.
Currently, his binary search demo produces 3 columns to represent 3 cycles of the loop. Yes, that's simple. If a loop cycles 1 million times, we don't want 1million columns as his binary search demo would naively produce. We want some way to cycle through that debugging output, perhaps by using a time slider (a normal slider wouldn't be appropriate, but you can get some very clever zoomable sliders which allow much better accuracy and navigation).
For a nested loop (say 1000*1000), we'd need two sliders (one being 'nested' inside the other slider) for the debugging output. You follow?
Isn't it 'better' that it was once open source than never at all, even if they don't announce it prior?
Do you ever think the trial and error approach is more beneficial? I'm thinking in terms of time. If you have good unit/regression testing, then that should cover most of the cases, and sometimes there are only finite possibilities available for the trial and error (shotgun) approach.
Well, you're possibly the exception, and can probably handle abstract thought better than most. Having said that, optimizing the speed of a raytracer, and working out a subtlety in the shadowing of a globally illuminated object is tremendously tricky to get right first time.
Meanwhile, it can't be done using a compiled language which makes it useless.
The debugging could run using a separate fast interpreter of the same language (or maybe even JIT - C# has a lag of about 100-200ms if you're careful).
Most importantly, notice that he chose a binary search on 6 goddamn items?
Yes, there comes a point where more complicated code could complicate matters. But use your imagination - whether it's sliders within sliders to control time in a double nested loop, or tree-like information which expands for a given line of code to dig deeper. There has to be a way to generalize.
He probably didn't read that, because you posted as AC (which are filtered out according to his sig). Ironically, you probably won't read this for the same reason.
Yes, I think you'd like his approach then as all the printfs are kind of done for you. Each line of code has a corresponding value, so its like every line has a printf.
I think I'm generally surprised why this story received so much negative feedback from slashdot.
It's not even a case that this idea is so neat and amazing that we should be using it. But it's that we should have this technology ANYWAY. It's taking scripting to yet another level. This would help even the geniuses who can code a ton of stuff without having to run for ages (even if only a little bit). Then again, they say ideas go through 3 stages...
Yes, and if the actual output doesn't match the expected output, then something must have gone wrong in the middle. Did you see the video? The binary search example is simple, but its basic idea is sound. To have data appear *alongside* each line in the code in realtime as you type would allow you to home in on any errors much quicker. It's like a debugger on steroids.
Did you see the video? Did you see the part where he was going through the binary search algorithm? Granted, that's an easy example, and maybe you could get it right first time.
But in more complicated examples, having the output displayed in a panel to the right to show what each line of code actually does (for given sample input); well, I think that's a massive improvement. Time spent debugging should decrease accordingly. Wouldn't you agree?
Okay, let's give this a go, well the first 25 minutes anyway. He's talking about seeing the effects of programming not after compiling and running, but while you're actually *typing*.
The first example (with the fractal tree) is interesting. He changes a number in the code, and the trunk gets taller, or the number of leaves grow. He then adjusts the variable in the code as if it were a slider, and the picture updates accordingly in realtime.
Second example is a platform game. He is able to user a slider to go back and forwards throughout time, and change certain parameters such as the gravity, or speed of the enemy turtle. To solve a problem at the end where he wants the character to jump at a very particular height, he employs a 'trail' of the character over time (so you can see all of 'time at once'). Adjusting the variable he can get that perfect jump height more intuitively. The 'character trail' changes in realtime as he adjusts the variable.
The third example is where he talks through a binary search algorithm. Usually, you're blind as you have to figure out what the computer is doing behind the scenes. But let's say you can see the output as you're typing. The numbers of variables are drawn to the right as you're typing. If there's a loop, then there will be more than one value. In this case, the values are segmented horizontally in the output.
I've thought of a lot of the things that this guy has said (and even semi-planned to incorporate his third idea into my OpalCalc program shown in my sig), but a couple of things were moderately surprising, and it's nice to see it all in action.
Wow, to be able to get code right first time without ever debugging, you must be super-human. Perhaps we should throw away the debugger altogether, and any debugging output. While we're at it, throw away any regression or unit testing. - they're only for morons.
From a quick play with EEE, I can't find that I am able to go back and adjust previous calculations. That was one of the things that made Soulver great.
For OpalCalc, I used Jint which is a Javascript library for C#. For porting purposes though, I find that I'm having to create my own RPN routine anyway. It's not all that bad tbh (unary minus was a pain to implement though).
The 'demo' of opalcalc is still very functional. If you want the full version, you can pay any amount, and you'll still get it.
'Opal', not 'Open'. Someone else made that mistake.
Not as such. But then if someone else is interested in porting it, I'd certainly consider it.
There's a lot in the menus of OpalCalc too which isn't detailed on that page. I guess I'm a bit biased towards certain features (though yeah, lists and, 'structs' do sound very useful).
Anyway, always good to see more competition in this much neglected niche - thanks for making LastCalc!
Calculators should be multi-line like this - it's so much easier to keep track of calculations. Similar to LastCalc is InstaCalc on the web and something on the Mac called Soulver which is also very impressive.
Shameless plug: I've been working tirelessly on something like this too for almost a year, and apart from lists and a couple of other minor features, is a bit like LastCalc on steroids:
OpalCalc (for Windows currently).
The screenshots should give an idea of what it can do, but to name a few things: it's even more like notepad, faster, can handle times/dates, and allow words in the sum (like saying "5 oranges * £10 = £50" ).
People like you are awesome for advancing the state of the art for this kind of stuff.
I think 2000x GPU power is very much underestimating the potential for a number of reasons:
1: Raytracing / global illumination. In comparison to games with true global illumination, current technology 3D worlds with only direct illumination (or scanline rendering) look crude and unconvincing. Objects appear 'cookie-cutter' like and colours tend not to gel with the overall 3D landscape.
Toy Story 3 took around 7 hours to render each frame. To render in real-time for a video game (say 60 FPS), you would need a processor that was around 1 million times faster than what we have today. And AFAIK, that's mostly using Reyes rendering (which incorporates mostly rasterization techniques with only minimal ray tracing.
2: Worlds made of atoms, voxels or points. This makes a world of difference for both the user and the designer. Walls can be broken through realistically, water can flow properly, and explosions will eat away at the scenery.
2000x? Pah, try 2 TRILLION as a starting point.