Domain: sourceforge.net
Stories and comments across the archive that link to sourceforge.net.
Comments · 31,462
-
GAMBAS
-
http://sourceforge.net/projects/clouddata/
-
Self-defeating name
Rust? Programmers often choose self-defeating names. Imagine going to a top manager and saying you want to program a product in Rust.
What are some of the others? Gimp is one. GNU. LaTeX is written in both English and Greek letters. There is nothing "regular" about Regular Expressions.
NetLoony Apache Server GUI and Tools. (Looney is someone who is "Extremely foolish or silly".)
pGina
Bouncy Castle cryptography -
Re:You mean?
The list concentrated on money. EG sponsorship. This ignores contributions and resources directly contributing code.
http://intel-iscsi.sourceforge...
http://www.crunchbase.com/orga...
https://www.virtualbox.org/wik...
http://www.libreoffice.org/ -
Re:Oh... S***
And I will just leave this here:
-
Hm, one of my games is on there.
I have mixed feelings about this. I have a former shareware game that I've made freeware years ago and occasionally update. It's available from our web site for download.
I would have preferred if Jason had asked me first before uploading it to archive.org. As it stands, while I like the idea, I really don't like someone assuming that I'm okay with it and imposing "Opt-Out" on me if I'm not.
I'm going to mull it over. If I decide to have it remove it, I may offer my own web player (I toyed a while back with JPC.
-
Re:Congrats
Fluxbox on an old Slackware laptop got me through college. Good stuff, though I have since moved on to i3wm.
As far as tiling WMs are concerned, I think Notion is my favourite because it's tabbed and static tiles instead of the more common dynamic tiling style. I use it on my laptop, or on my desktop inside a nested X server (xephyr) to group related programs into a single window. Especially useful for coding, with multiple files and terms open and the infrequently-used ones in smaller windows or in tabs that I switch to when needed.
-
Re:Oh... S***
I will just leave this here then...
-
Why educational technology has failed schools
"But on the computers, the best thing about them is that they let children go much more self-paced. Except, I usually find they block the 3rd graders from doing 4th grade work, even if their ability and time allows. As someone who never fit in the school time schedule, I would have loved something that let me progress as fast or slow as I wanted."
Decades ago, in public school, probably in third grade or so, I had a substitute teacher literally snatch a Boxcar Children series book out of my hands (which I had picked up from a shelf in the class room) saying I might be assigned to read it in the next grade so he did not want me reading it then. It wasn't ever assigned, and I never did get to finish it -- something about being in a mysterious castle... I can wonder if this was the one -- but it can't be as it was published many years later:
http://books.google.com/books/...To be fair though, my actual third grade teacher said it was OK for me to read ahead in the science text book, and I read most of it over a weekend or so. She then suggested to my parents they get some science-related booklets, which they did. So, I owe a lot of my early science education to Ms. Kivlen(sp?) as well as Lady Plowden and her collaborators:
http://www.abebooks.com/book-s...Also, while most math classwork bored me in school with repetitive rote work, one year there was a "programmed instruction" box of math problems where you did a card of problems, and depending on how you did, you would either get a similar card or skip ahead. I rapidly skipped along through that entire box and it was fun and enjoyable. So, such things are also possible just with paper systems. Sadly, that experience with such "programmed instruction" for math was not repeated in other years in school. Still, there were other teachers who I can give credit for letting me have some freedom to learn on my own in various areas (especially computers).
In some ways, not much has changed in many schools as far as schools and their use of digital educational materials. Some teachers are very helpful (like my third grade teacher or John Taylor Gatto), but some are not, and, in any case, the overall compulsory school system works against most individualized instruction because it is designed to mostly turn out a standardized product like canned hams (or compliant worker drones in this case for most kids).
Yet computer technology offers the promise of more, even if it is a promise not yet realized for most kids. I wrote a related essay here:
http://patapata.sourceforge.ne...
"Ultimately, educational technology's greatest value is in supporting "learning on demand" based on interest or need which is at the opposite end of the spectrum compared to "learning just in case" based on someone else's demand. Compulsory schools don't usually traffic in "learning on demand", for the most part leaving that kind of activity to libraries or museums or the home or business or the "real world". In order for compulsory schools to make use of the best of educational technology and what is has to offer, schools themselves must change. ...
So, there is more to the story of technology than it failing in schools. Modern information and manufacturing technology itself is giving compulsory schools a failing grade. Compulsory schools do not pass in the information age. They are no longer needed. What remains is just to watch this all play out, and hopefully guide the collapse of compulsory schooling so that the fewest people get hurt in the process. ..."That's one reason we homeschool/unschool to better support more learner-directed inquiry.
http://www.holtgws.com/wh -
Re:Advanced Workings....
I use the command line extensively when I work on Linux. I usually install whatever "flavor of the month" Linux distro and the Blackbox windows manager to have several terminal windows and nothing else open. If I don't have time to fiddle around with setting up Blackbox, I'll install Xfce as the default windows manager. Coworkers at various jobs didn't like either windows managers when logging into one of my systems.
-
Linux Mint 17.1
I just put Linux Mint 17.1 MATE 64-bit on a Lenovo IdeaPad S415. Everything just worked out of the box, and that includes both the multitouch touchpad and the touchscreen. Also the network, wifi, sound, and graphics. Everything.
http://notebookplanet.blogspot.com/2013/12/lenovo-ideapad-s415-specs.html
That IdeaPad is a year old. A year ago, no Linux that I tried worked out of the box with it; graphics didn't work. X always got confused by the fact that the machine has two graphics adapters (one built-in to the AMD APU chip, and a discrete one).
I've really been enjoying Linux Mint 17.1; it seems to be a big improvement over Linux Mint 16. You can easily and non-destructively try it, just by booting from a USB flash drive that has Linux Mint on it. (You can use UNetBootIn to make the USB flash drive.)
While I can't guarantee that Linux Mint 17.1 will work on your hardware, it worked great on mine so I think it's worth your time to try it out.
-
Re:Because it's slow and featureless
I know the authentication handshaking is part of what causes the slowness, but I figure this is still a good spot to plug HPN-SSH (sourceforge link). That is, a set of patches to OpenSSH that increase throughput in simple ways:
1) Multi-threaded cipher implementations - (seriously, OpenSSH does not do this out of the box! And, it yields probably the greatest improvement in performance)
2) Auto-adjusting TCP buffer window sizes
3) A "none" cipher that still uses secure authentication to establish a connection...although it is generally unnecessary, since I've been able to saturate a 10Gbps link with it running the standard AES ciphers in multithreaded mode... -
"Ask & ye shall receive"
Some of my favorites only:
Windows NT Magazine (now Windows IT Pro) April 1997 "BACK OFFICE PERFORMANCE" issue, page 61
(&, for work done for EEC Systems/SuperSpeed.com on PAID CONTRACT (writing portions of their SuperCache program increasing its performance by up to 40% via my work) albeit, for their SuperDisk & HOW TO APPLY IT, took them to a finalist position @ MS Tech Ed, two years in a row 2000-2002, in its HARDEST CATEGORY: SQLServer Performance Enhancement). Ask for CEO Mr. Eric Dickman regarding myself, Alex Kowalski.
WINDOWS MAGAZINE, 1997, "Top Freeware & Shareware of the Year" issue page 210, #1/first entry in fact (my work is there)
PC-WELT FEB 1998 - page 84, again, my work is featured there
WINDOWS MAGAZINE, WINTER 1998 - page 92, insert section, MUST HAVE WARES, my work is again, there
PC-WELT FEB 1999 - page 83, again, my work is featured there
CHIP Magazine 7/99 - page 100, my work is there
GERMAN PC BOOK, Data Becker publisher "PC Aufrusten und Repairen" 2000, where my work is contained in it
HOT SHAREWARE Numero 46 issue, pg. 54 (PC ware mag from Spain), 2001 my work is there, first one featured, yet again!
Also, a British PC Mag in 2002 for many utilities I wrote, saw it @ BORDERS BOOKS but didn't buy it... by that point, I had moved onto other areas in this field besides coding only...
Being paid for an article that made me money over @ PCPitstop in 2008 for writing up a guide that has people showing NO VIRUSES/SPYWARES & other screwups, via following its point, such as THRONKA sees here -> http://www.xtremepccentral.com...
It's also been myself helping out the folks at the UltraDefrag64 project (a 64-bit defragger for Windows), in showing them code for how to do Process Priority Control @ the GUI usermode/ring 3/rpl 3 level in their program (good one too), & being credited for it by their lead dev & his team... see here -> http://ultradefrag.sourceforge... or here http://sourceforge.net/tracker...
Which ended up fixing a "bug" for them later, here -> http://sourceforge.net/p/ultra... via its implementation (partially, NOT fully yet as I outline it & use in my applications such as this one -> http://www.start64.com/index.p...
----
What do I have to say about that much above? I can't say it any better, than this was stated already (from the greatest book of all time, the "tech manual for life" imo):
"But by the grace of God I am what I am: and his grace which was bestowed upon me was not in vain; but I labored more abundantly than they all: yet not I, but the grace of God which was with me." - Corinthians Chapter 15, Verse 10
(And, because I got LUCKY to have been exposed to some really GREAT classmates, professors, & colleagues on the job over time as well)
APK
P.S.=> Happy now? apk
-
"Ask & ye shall receive"
Some of my favorites only:
Windows NT Magazine (now Windows IT Pro) April 1997 "BACK OFFICE PERFORMANCE" issue, page 61
(&, for work done for EEC Systems/SuperSpeed.com on PAID CONTRACT (writing portions of their SuperCache program increasing its performance by up to 40% via my work) albeit, for their SuperDisk & HOW TO APPLY IT, took them to a finalist position @ MS Tech Ed, two years in a row 2000-2002, in its HARDEST CATEGORY: SQLServer Performance Enhancement). Ask for CEO Mr. Eric Dickman regarding myself, Alex Kowalski.
WINDOWS MAGAZINE, 1997, "Top Freeware & Shareware of the Year" issue page 210, #1/first entry in fact (my work is there)
PC-WELT FEB 1998 - page 84, again, my work is featured there
WINDOWS MAGAZINE, WINTER 1998 - page 92, insert section, MUST HAVE WARES, my work is again, there
PC-WELT FEB 1999 - page 83, again, my work is featured there
CHIP Magazine 7/99 - page 100, my work is there
GERMAN PC BOOK, Data Becker publisher "PC Aufrusten und Repairen" 2000, where my work is contained in it
HOT SHAREWARE Numero 46 issue, pg. 54 (PC ware mag from Spain), 2001 my work is there, first one featured, yet again!
Also, a British PC Mag in 2002 for many utilities I wrote, saw it @ BORDERS BOOKS but didn't buy it... by that point, I had moved onto other areas in this field besides coding only...
Being paid for an article that made me money over @ PCPitstop in 2008 for writing up a guide that has people showing NO VIRUSES/SPYWARES & other screwups, via following its point, such as THRONKA sees here -> http://www.xtremepccentral.com...
It's also been myself helping out the folks at the UltraDefrag64 project (a 64-bit defragger for Windows), in showing them code for how to do Process Priority Control @ the GUI usermode/ring 3/rpl 3 level in their program (good one too), & being credited for it by their lead dev & his team... see here -> http://ultradefrag.sourceforge... or here http://sourceforge.net/tracker...
Which ended up fixing a "bug" for them later, here -> http://sourceforge.net/p/ultra... via its implementation (partially, NOT fully yet as I outline it & use in my applications such as this one -> http://www.start64.com/index.p...
----
What do I have to say about that much above? I can't say it any better, than this was stated already (from the greatest book of all time, the "tech manual for life" imo):
"But by the grace of God I am what I am: and his grace which was bestowed upon me was not in vain; but I labored more abundantly than they all: yet not I, but the grace of God which was with me." - Corinthians Chapter 15, Verse 10
(And, because I got LUCKY to have been exposed to some really GREAT classmates, professors, & colleagues on the job over time as well)
APK
P.S.=> Happy now? apk
-
"Ask & ye shall receive"
Some of my favorites only:
Windows NT Magazine (now Windows IT Pro) April 1997 "BACK OFFICE PERFORMANCE" issue, page 61
(&, for work done for EEC Systems/SuperSpeed.com on PAID CONTRACT (writing portions of their SuperCache program increasing its performance by up to 40% via my work) albeit, for their SuperDisk & HOW TO APPLY IT, took them to a finalist position @ MS Tech Ed, two years in a row 2000-2002, in its HARDEST CATEGORY: SQLServer Performance Enhancement). Ask for CEO Mr. Eric Dickman regarding myself, Alex Kowalski.
WINDOWS MAGAZINE, 1997, "Top Freeware & Shareware of the Year" issue page 210, #1/first entry in fact (my work is there)
PC-WELT FEB 1998 - page 84, again, my work is featured there
WINDOWS MAGAZINE, WINTER 1998 - page 92, insert section, MUST HAVE WARES, my work is again, there
PC-WELT FEB 1999 - page 83, again, my work is featured there
CHIP Magazine 7/99 - page 100, my work is there
GERMAN PC BOOK, Data Becker publisher "PC Aufrusten und Repairen" 2000, where my work is contained in it
HOT SHAREWARE Numero 46 issue, pg. 54 (PC ware mag from Spain), 2001 my work is there, first one featured, yet again!
Also, a British PC Mag in 2002 for many utilities I wrote, saw it @ BORDERS BOOKS but didn't buy it... by that point, I had moved onto other areas in this field besides coding only...
Being paid for an article that made me money over @ PCPitstop in 2008 for writing up a guide that has people showing NO VIRUSES/SPYWARES & other screwups, via following its point, such as THRONKA sees here -> http://www.xtremepccentral.com...
It's also been myself helping out the folks at the UltraDefrag64 project (a 64-bit defragger for Windows), in showing them code for how to do Process Priority Control @ the GUI usermode/ring 3/rpl 3 level in their program (good one too), & being credited for it by their lead dev & his team... see here -> http://ultradefrag.sourceforge... or here http://sourceforge.net/tracker...
Which ended up fixing a "bug" for them later, here -> http://sourceforge.net/p/ultra... via its implementation (partially, NOT fully yet as I outline it & use in my applications such as this one -> http://www.start64.com/index.p...
----
What do I have to say about that much above? I can't say it any better, than this was stated already (from the greatest book of all time, the "tech manual for life" imo):
"But by the grace of God I am what I am: and his grace which was bestowed upon me was not in vain; but I labored more abundantly than they all: yet not I, but the grace of God which was with me." - Corinthians Chapter 15, Verse 10
(And, because I got LUCKY to have been exposed to some really GREAT classmates, professors, & colleagues on the job over time as well)
APK
P.S.=> Happy now? apk
-
Re:"pioneer inventor of new technology" ???
This free Microsoft tool for automatically stiching images together to make a panorama is pretty freaking amazing,
Doesn't sound much of an advance on Hugin. Which is available Free and cross-platform. There are up-to-date portable versions too.
Since I move from system to system, from client to client, that last point is a mega-killer. If it takes 3 months to get a program installed through the IT department, and the project lasts 1.5 months, portability is an essential.
-
Re:Anything that's OS independent?
vvvP: http://vvvp.sourceforge.net/ Open source. Linux, Mac and Windows.
-
You can try vvvP
vvvP is open source and it works under Linux, Mac and Windows. You can even share your catalog from a network server. It catalogs images and it stores thumbnails, you can add descriptions and create a hierarchy of virtual folders to organize the images. It supports RAW images. http://vvvp.sourceforge.net/
-
Re:pornview
http://antidupl.sourceforge.ne...
Works great Requires Windows and .NET -
ImageMagick and raw images (Re:Image Organization)
Just took a look at Imagemagick; they've definitely come a long way in RAW support.
ImageMagick (at least, the versions I've used so far) would spawn off ufraw (ufraw-batch rather) to turn raw-images into a bitmap that it can process itself.
Thus, the formats supported are determined by UFRaw...Which, I might add, has a decent GUI of its own, which can be used to correct the mistakes made when photographing (there is usually enough information in the raw file to allow moving up or down 2 shutter-stops, for example)...
-
Parentheses
Most software developers will take one look at the excessive parentheses required for Kawa and Scheme and say "nuke it from orbit". Even Lisp advocates like Paul Graham admits that syntax like "(* (+ 1 2) (- 5 4))" is painful to deal with.
Thankfully, there *are* solutions for Scheme: SRFI-105 and SRFI-110 (which I co-authored). These are extensions to Scheme that let you keep meta programming (and syntax tree editing in an editor) with readable syntax. To my knowledge Kawa doesn't implement them, but they could be added.
-
Re:Name won't be taken seriously
Because it has never been done before? http://bstring.sourceforge.net...
-
Re:and no one cares
No screenshots of Fedora on Blackbox either.
-
Re:Wha?!?!!!
Not many OSS projects are easy to contribute to. Download the source code of some open source project and run cloc against it. How many lines of code does it report?
-
Re:What's wrong with emacs and make ?As well as a wrapper around jdb, Emacs (with the JDEE package) also supports JDWP (which is what the IDEs really use), for remote debugging and debugging inside server containers.
Also, as of 24.4, Emacs supports adb as a backend for its remote editing and execution functionality (aka tramp), so you can edit files and run commands directly on Android devices from the comfort of your Emacs desktop.
-
He doesn't get it
I work on my pet project (http://msscodefactory.sourceforge.net) because it's a fun challenge I set myself many years ago. Whether others use it is irrelevant. Whether I ever make money off it is irrelevant. There is only one thing that matters to me:
Having fun coding.
That's it. Beginning and end of story. I work on it for fun.
-
Re:Kiss my hairy Pale Moon, Mozilla!
Pale Moon is probably the fork for the majority of people who complain about it - a regression back to the old familiar way that Firefox did things. There's another one called Light, which is the fork that people say they want - a stripped down Firefox.
-
Re:Copyrights
> I keep telling my colleagues to at least put in copyright notices when using other people's work.
Sometimes they don't even put in the copyright and licensing notices on their OWN work, let alone others.
For example, I like playing with audio and musical software. I downloaded the old version of SonicBirth (1.3) from Sourceforge. It's under GPL, though it started out as proprietary. The binary distribution doesn't include source code. It doesn't even include an offer for source code. The manual still contains the old proprietary licensing notice and nothing about GPL.
Worse, the project page makes no mention that the GPL version is abandoned, and the author is now developing V.2 as closed source!
-
Re:One real reason
Most open source projects are
999 header files
355 directories
2345 code files
3 intermixed build systems
A python script or so just becauseIndeed. I have found out that it takes ages to become familiar with the codebase even to make a simple change. There can be hundreds of thousands of lines of code and complex build systems. Guys, try running cloc against some codebase, it gives you nice and easy report.
Anyone can try this: imagine a change or bugfix you would want to happen in an OSS project. Now, actually try to properly find where and how the fix should be implemented. Just try this little experiment. Then we will talk how easy it is to contribute into these projects.
-
Re:Wow...
Fuck you SJW shill.
Guy running the fork did MuSe. Great for controlling midi devices for those of us who record music.
MikeeUSA/Jaromil - is that you (again)?
You claim you wrote MuSe?
BULLSHIT! citation
And you made the sun rise this morning too...
-
Re:Wow...
Thanks, but I'd be surprise if that happened.
- You may have noticed that the "story" submitter is Jaromil, so I suspect (extrapolating from experience) he's accompanied by his sock puppet army (do they imitate the NSA with forum flooding and FUD techniques, or does the NSA imitate them?)
- I've always suspected that the NSA is actively involved in ceasing this opportunity to divide Debian, if not celebrating the number of senior Debian developers who have left due to the number of personal attacks and threats they've recieved from the "anti-systemd" "campaign"
Jaromil does some excellent graphic work - but his musical ability is more autistic than artistic, allowing for a broad spectrum of tastes... and his "software accomplishments" is less than truthful (his hasciicam program lacks truthful attributions to it's true basis, and his Dyneobolic distro is just one of very many "respins". Not a patch on Knoppix - which is the work of one person , or a shadow of Mint and other Debian derivatives. There have been many Debian fork attempts...
Some vaguely related trivia regarding your pseudonym. Unix was a joke name chosen by the developers of Multix - the operating system that was intended to "do everything", when their funding was cut. Eunuchs/Unix was the result. Linux was the name given to Linux Torvalds to create a non-Unix compatible kernel.
apt-get install sysvinit-core
-
Re:Libre Browsers offer DuckDuckGo
I'm familiar with IceCat and IceWeasel (which is still my all-time favorite browser name), but not Abrowser. So I had to do a search:
http://abrowser.sourceforge.net/"Open Source browser made in Microsoft Visual Basic 2010 Express that runs off of Internet Explorer's Interface."
Uhh... seriously?
-
Re:Of course there will be...
Personally I think it's just an excuse. How many Win 9x programs still exist that would be tripped up by Windows 9?
Lots of programs that were written when Win9x was still popular are still around... an example given in the last
/. story about MS skipping Windows 9 is jEdit. As of right now, the current revision of that file (r23738), last modified about a year ago, still detects the OS as Windows 9x if the OS name supplied by Java contains either "Windows 9" or "Windows M". -
Squeak or Gambas
Squeak: http://www.squeak.org/
Gambas: http://gambas.sourceforge.net/
-
Re:RUBBISH
Also grabbing a copy of smartmontools might be a good idea...
http://smartmontools.sourceforge.net -
By that argument
By that argument, we should have a serious shortage of mathematicians since the invention of the scientific calculator.
We should also have a lot of bookkeeppers and no accountants.
Automation reduces the "grunt work"; it does not remove the need to think. If your job can be accomplished purely through the "grunt work" done by something like http://msscodefactory.sourceforge.net/ without you having to do any customization work or handle any special cases that aren't automated, you were never a real programmer to begin with, and your project was a joke in the first place.
-
Supported desktop list is missing one
seven supported desktop environments (KDE 4.14, GNOME 3.14, Xfce, LXDE, Enlightenment 19, Mate and Awesome)
No support for Blackbox?! SuSE has fallen to new lows since version 6 when I last used it back in the day.
-
Re:Video tutorials
Sorry -- I'm tired and angry about various things
Really sorry to hear that. But apology gladly accepted
;-)You'll probably hate me for saying this, but why not just write text elements in an established format... like HTML?
Now you can. But HTML is not a very good format for dynamic text. How do you represent the following with HTML?
paragraph "It is currently " & hours & ":" & zero minutes & ":" & zero seconds
zero N -> if N < 10 then "0" & N else NI believe that the typical usage of presentations will see a lot of minor adjustment of the most PowerPoint-like elements
This is true with what Powerpoint can do. With Tao3D, when you discuss a simulation, a lot of time is spent refining the simulation.
For one thing, reusing existing collateral would be more of a cut-and-paste affair
Even without the patch above, you can copy-paste HTML into Tao3D.
the language confuses the two metaphors of series-of-commands vs collection-of-properties.
There is no confusion, there are only series of commands, although with a homoiconic language, they are also data, so you can view them as properties and make them behave like properties if you want to. The fundamental paradigm remains sequential evaluation (using parse tree rewrites in that case).
Ah... what I hadn't noticed was the lack of assignment operator in the language.
There is an assignment operator in the language. The theme getter/setter is define as follows:
theme -> "default"
theme T -> theme := TIf that's what you've done, in theory you have completed the abstraction of objects -- if the caller doesn't need to know how an object works, it shouldn't need to know that it's not changing the properties directly.
I may not have made the abstraction exactly like you wanted, but I've made abstraction more practical than in most languages. The theme "variable" could be a function, I would not know. And the theme T "setter" could do some validation or anything else, same thing, you would not know.
But without an operator, how is it obvious the difference between an assignment, a function passed as argument, a function call and a looked-up value?
The real abstraction is precisely that it is not obvious at the call site. If you have something like do_something theme, it's do_something that decides for example if it evaluates theme or not. If not, it gets the unevaluated name, and it can decide to do something with it, like using it as a prefix for a "function call".
As a developer, you should be avoiding personal taste.
That makes no sense to me. While it's a good thing to be able to fit in an existing environment, when you design from scratch, you have to make choices. And those choices are based on your own taste. Who gets to decide for you if you prefer to write runThing, run_thing(); or (run-thing) or, Knuth forbid, <thing EVALUATION_MODE="run" @ARGS[$nil]>?
That last one, while I don't like it, at least looks consistent
In the Tao3D evaluation model, they are all consistent.
at other times a bag of object properties.
This only shows that imperative is superior to declarative. You can make imperative feel like declarative, not the other way round.
If I edit the attributes of an HTML tag via javascript, it shouldn't really matter which order I edit them in -- the end result is the same.
A
-
Re:Point?
Sure. What I'm saying is that, from the numbers you've provided, your product clearly lots of room for improvement. Even with basic Latin, you're averaging 128 triangles/character for flat text!
While it's only 128 edges (not triangles, I had misinterpreted what I was counting), it was still worth investigating. And I modified the way Tao emits polygons to be more aggressive for small sizes. I also added user-controllable parameters in case the defaults are not suited for a specific use case. Code reviews and comments are welcome.
Thank you for your input.
-
Re:Video tutorialsSorry -- I'm tired and angry about various things, and taking it out on strangers on the internet isn't really the right way to deal with it.
No, that's trying to help you become an early contributor. I would not have spent the time locating the exact line to patch otherwise. Remember, open source is about you and others being able to influence Tao3D. But since you obviously don't want to do it this time, I patched it myself. Your name in lights, tadaaa.
I have my own coding project on the go at the moment, so I'm not looking to contribute to anything else at the moment.
Well, text layout is still done in a 2D text box. So align specifies the horizontal alignment and justification within a line (the frequent case), and align_vertically the alignment and justification of the lines and paragraphs vertically.
You'll probably hate me for saying this, but why not just write text elements in an established format... like HTML?
I also realise that this flies in the face of my own moaning about internal consistency, but I see it as valid in this case mainly because of separation of concerns. I believe that the typical usage of presentations will see a lot of minor adjustment of the most PowerPoint-like elements, and very little adjustment of the 3D environment and animations. For one thing, reusing existing collateral would be more of a cut-and-paste affair, and for another, the DOM, while not perfect, is fairly well understood by a lot of admin staff who have no understanding of code.
[Added later:] Actually, after writing this bit (so thinking about the DOM), a thought came to me that's discussed further on: the language confuses the two metaphors of series-of-commands vs collection-of-properties. It's not really about pre-existing formats vs new ones.
It's an interesting point. Tao3D actually went the other way. A setter and a getter for a property typically have the same name. So to adjust the stereoscopic effect, you can say something like eye_distance 20, and that adjusts the property you get with eye_distance. To get the current theme of a slide, you use theme, and to set it theme "Master". I personally see the 'set' and 'get' in that case as noise.
Ah... what I hadn't noticed was the lack of assignment operator in the language. I see exactly what you mean about getters and setters -- my view was always that if public object properties are dangerous (and I believe they are) then the best approach would be for a code to forbid public properties, but for getters and setters to simulate properties. If that's what you've done, in theory you have completed the abstraction of objects -- if the caller doesn't need to know how an object works, it shouldn't need to know that it's not changing the properties directly.
But without an operator, how is it obvious the difference between an assignment, a function passed as argument, a function call and a looked-up value?
But I will admit it's a matter of personal taste. I hope you will understand that Tao3D reflects my tastes and not yours.
As a developer, you should be avoiding personal taste.
At the limit, we began implementing (but never finished) a system of properties named x, y, width, top and so on for coordinates. You could then use any of the following three, to your liking: rectangle 10, 20, 30, 40 rectangle { x 10; y 20; width 30; height 40; } rectangle { left -5; y 20; width 30; bottom 0; } x 10; y 20; width 30; height 40; rectangle
Much like for color, the last one would also set the properties in a persistent way for following shapes to use, much like color or texture today. This means you would then be able to say something like
-
Re:Video tutorials
Thought for the day: whenever designing something for other people to use, you should take all feedback from your potential users and prove to yourself why the feedback is correct before attempting to show the giver why it's wrong.
Oh, I got it backwards then. I thought you had been trying to prove me wrong all that time... Sometimes, you were right (e.g. black characters on black background). Sometimes, you've made a good point (e.g. align_vertically). Sometimes, I feel your point is less convincing (glTranslate and glColor). Sometimes, I think you are plain wrong (global state is evil), and I express disagreement. That's how a discussion goes. I enjoyed it, sorry to hear that you did't seem to.
if your default response is to prove to everyone that their feedback is so valueless to you
If it felt so valueless to me, do you think I'd still be watching for your answers and typing this in the middle of the night? I don't claim to be perfect. Please reciprocate.
Exercise for you: go **** yourself. That's just patronising.
No, that's trying to help you become an early contributor. I would not have spent the time locating the exact line to patch otherwise. Remember, open source is about you and others being able to influence Tao3D. But since you obviously don't want to do it this time, I patched it myself. Your name in lights, tadaaa.
If we were just talking about text flow in a 2D page, I would agree with you
Well, text layout is still done in a 2D text box. So align specifies the horizontal alignment and justification within a line (the frequent case), and align_vertically the alignment and justification of the lines and paragraphs vertically.
I understand that, but it's wrong. I know a lot of people laugh at the idea of using setColor and getColor as per so many OO style guides, but really, you either need to use assignments or use verb-based names, or the syntax is broken from a human cognitive perspective
It's an interesting point. Tao3D actually went the other way. A setter and a getter for a property typically have the same name. So to adjust the stereoscopic effect, you can say something like eye_distance 20, and that adjusts the property you get with eye_distance. To get the current theme of a slide, you use theme, and to set it theme "Master". I personally see the 'set' and 'get' in that case as noise. But I will admit it's a matter of personal taste. I hope you will understand that Tao3D reflects my tastes and not yours.
At the limit, we began implementing (but never finished) a system of properties named x, y, width, top and so on for coordinates. You could then use any of the following three, to your liking:
rectangle 10, 20, 30, 40
rectangle { x 10; y 20; width 30; height 40; }
rectangle { left -5; y 20; width 30; bottom 0; }
x 10; y 20; width 30; height 40; rectangle
Much like for color, the last one would also set the properties in a persistent way for following shapes to use, much like color or texture today. This means you would then be able to say something like left 20 to left-align a bunch of shapes. It's not done yet, but still in the plans.
They are broken. If you aren't willing to fix the real problems with languages, why write a new one in the first place? Why not just write a library?
I find your use of bold font and "broken" quite antagonistic to your statement that two people can be correct at the same time. You call this a real problem with languages. I just don't see it. Specifically, I don't see color "red" or glColor as broken. In doing so, I'm not saying that you are w
-
Re:More Than 3 Clicks
I put the sample code on http://tao3d.sourceforge.net/ closer to the beginning. Hope that helps.
That being said, people don't seem to like the "Reveal.js" form factor too much overall. I may have to change that.
-
Re:Grammar ?
having noted the somewhat high-nosed, arrogant tone of your answer
Too bad you failed to note how high-nosed and arrogant your own "Seriously...!" sounded
:-)Anyone into compiler construction and wanting to / trying to use your language would want a grammar
Let me disappoint then. I don't think you can even write a valid EBNF for XL, it's too dynamic for that. Let me explain why.
First, scanning and parsing are really very simple. The scanner is 747 lines of code with comments. The parser is 659 lines of code with comments. The scanner produces a stream of tokens. The parser produces an abstract syntax tree built with exactly 8 node types: integer, real, text, name, infix, prefix, postfix or block. The abstract syntax tree is used both for code and for data. A list such as 1,2,3,4 is really a sequence of infix "comma" nodes with integers as leafs.
What makes it difficult to produce a valid EBNF for XL is that the precedence rules between operators are dynamic. They are initialised from a file called xl.syntax, but they can be changed at run-time. So, of course, I can write an EBNF for if-then-else that would be something like:
if then else = "if" condition "then" statement "else" statement
But that would be imprecise. In reality, with the default syntax, if X then Y else Z parses as (infix else (infix then (prefix if X) Y) Z) (using a Lisp-like notation). That happens because of the specifications of infix priorities for then and else given in xl.syntax. Furthermore, the meaning of this particular parse tree is only given by a "rewrite", i.e. a definition such as if X then Y else Z -> ifthenelse(X,Y,Z). It is intentionally not given by a grammar of any kind. Definitions like this are even more dynamic than the priorities. They are the XL equivalent of functions, so you use them all the time.
Even writing a valid EBNF for integer literals would be hard. XL accepts 16#FFFF_FFFF as a valid integer, but 12#FFFF is not valid because F is not a valid digit in base 12. Ada has the same problem, and most EBNF descriptions of based literals for Ada are wrong. This one for example over-simplifies things and considers 12#FF# as a valid number when I assume any valid Ada compiler would reject it. Of course, you could enumerate all the 36 cases to have a valid EBNF that actually represents the language, but at some point, you have to ask: "what's the point"? And if the idea is to describe a language that is only approximately XL, taking more space to do so than the valid C++ code describing what XL actually is, then that's another big "what's the point" in my book.
Finally, there are a number of priority-based shenanigans that were introduced to make the language easier to use, but make it even more complicated to describe in EBNF or anything like it. Here are two examples.
When you read write -A, you normally read this as "write(minus(A))". On the other hand, if you write A-B, you probably read this as "minus(A,B)". It's not logical, but that's how we read. That leads XL to pay attention to spaces surrounding operators to decide what you mean. I hear you "yuck", but it just works.
Another scenario is even worse. Consider write sin x, sin y. All the people I tried that with read it as "write(sin(x), sin(y))". Problem is that this reveals a priority inversion in our brain. If the comma has lower precedence than function calls, then it should read as write(sin(x)), sin(y). If it has higher precedence, then it should read as write(sin(x,sin(y)). None of them
-
Re:Grammar ?
having noted the somewhat high-nosed, arrogant tone of your answer
Too bad you failed to note how high-nosed and arrogant your own "Seriously...!" sounded
:-)Anyone into compiler construction and wanting to / trying to use your language would want a grammar
Let me disappoint then. I don't think you can even write a valid EBNF for XL, it's too dynamic for that. Let me explain why.
First, scanning and parsing are really very simple. The scanner is 747 lines of code with comments. The parser is 659 lines of code with comments. The scanner produces a stream of tokens. The parser produces an abstract syntax tree built with exactly 8 node types: integer, real, text, name, infix, prefix, postfix or block. The abstract syntax tree is used both for code and for data. A list such as 1,2,3,4 is really a sequence of infix "comma" nodes with integers as leafs.
What makes it difficult to produce a valid EBNF for XL is that the precedence rules between operators are dynamic. They are initialised from a file called xl.syntax, but they can be changed at run-time. So, of course, I can write an EBNF for if-then-else that would be something like:
if then else = "if" condition "then" statement "else" statement
But that would be imprecise. In reality, with the default syntax, if X then Y else Z parses as (infix else (infix then (prefix if X) Y) Z) (using a Lisp-like notation). That happens because of the specifications of infix priorities for then and else given in xl.syntax. Furthermore, the meaning of this particular parse tree is only given by a "rewrite", i.e. a definition such as if X then Y else Z -> ifthenelse(X,Y,Z). It is intentionally not given by a grammar of any kind. Definitions like this are even more dynamic than the priorities. They are the XL equivalent of functions, so you use them all the time.
Even writing a valid EBNF for integer literals would be hard. XL accepts 16#FFFF_FFFF as a valid integer, but 12#FFFF is not valid because F is not a valid digit in base 12. Ada has the same problem, and most EBNF descriptions of based literals for Ada are wrong. This one for example over-simplifies things and considers 12#FF# as a valid number when I assume any valid Ada compiler would reject it. Of course, you could enumerate all the 36 cases to have a valid EBNF that actually represents the language, but at some point, you have to ask: "what's the point"? And if the idea is to describe a language that is only approximately XL, taking more space to do so than the valid C++ code describing what XL actually is, then that's another big "what's the point" in my book.
Finally, there are a number of priority-based shenanigans that were introduced to make the language easier to use, but make it even more complicated to describe in EBNF or anything like it. Here are two examples.
When you read write -A, you normally read this as "write(minus(A))". On the other hand, if you write A-B, you probably read this as "minus(A,B)". It's not logical, but that's how we read. That leads XL to pay attention to spaces surrounding operators to decide what you mean. I hear you "yuck", but it just works.
Another scenario is even worse. Consider write sin x, sin y. All the people I tried that with read it as "write(sin(x), sin(y))". Problem is that this reveals a priority inversion in our brain. If the comma has lower precedence than function calls, then it should read as write(sin(x)), sin(y). If it has higher precedence, then it should read as write(sin(x,sin(y)). None of them
-
Re:Grammar ?
having noted the somewhat high-nosed, arrogant tone of your answer
Too bad you failed to note how high-nosed and arrogant your own "Seriously...!" sounded
:-)Anyone into compiler construction and wanting to / trying to use your language would want a grammar
Let me disappoint then. I don't think you can even write a valid EBNF for XL, it's too dynamic for that. Let me explain why.
First, scanning and parsing are really very simple. The scanner is 747 lines of code with comments. The parser is 659 lines of code with comments. The scanner produces a stream of tokens. The parser produces an abstract syntax tree built with exactly 8 node types: integer, real, text, name, infix, prefix, postfix or block. The abstract syntax tree is used both for code and for data. A list such as 1,2,3,4 is really a sequence of infix "comma" nodes with integers as leafs.
What makes it difficult to produce a valid EBNF for XL is that the precedence rules between operators are dynamic. They are initialised from a file called xl.syntax, but they can be changed at run-time. So, of course, I can write an EBNF for if-then-else that would be something like:
if then else = "if" condition "then" statement "else" statement
But that would be imprecise. In reality, with the default syntax, if X then Y else Z parses as (infix else (infix then (prefix if X) Y) Z) (using a Lisp-like notation). That happens because of the specifications of infix priorities for then and else given in xl.syntax. Furthermore, the meaning of this particular parse tree is only given by a "rewrite", i.e. a definition such as if X then Y else Z -> ifthenelse(X,Y,Z). It is intentionally not given by a grammar of any kind. Definitions like this are even more dynamic than the priorities. They are the XL equivalent of functions, so you use them all the time.
Even writing a valid EBNF for integer literals would be hard. XL accepts 16#FFFF_FFFF as a valid integer, but 12#FFFF is not valid because F is not a valid digit in base 12. Ada has the same problem, and most EBNF descriptions of based literals for Ada are wrong. This one for example over-simplifies things and considers 12#FF# as a valid number when I assume any valid Ada compiler would reject it. Of course, you could enumerate all the 36 cases to have a valid EBNF that actually represents the language, but at some point, you have to ask: "what's the point"? And if the idea is to describe a language that is only approximately XL, taking more space to do so than the valid C++ code describing what XL actually is, then that's another big "what's the point" in my book.
Finally, there are a number of priority-based shenanigans that were introduced to make the language easier to use, but make it even more complicated to describe in EBNF or anything like it. Here are two examples.
When you read write -A, you normally read this as "write(minus(A))". On the other hand, if you write A-B, you probably read this as "minus(A,B)". It's not logical, but that's how we read. That leads XL to pay attention to spaces surrounding operators to decide what you mean. I hear you "yuck", but it just works.
Another scenario is even worse. Consider write sin x, sin y. All the people I tried that with read it as "write(sin(x), sin(y))". Problem is that this reveals a priority inversion in our brain. If the comma has lower precedence than function calls, then it should read as write(sin(x)), sin(y). If it has higher precedence, then it should read as write(sin(x,sin(y)). None of them
-
Re:Most uninteresting
And I heard of Readable Lisp for those of us who don't like so much parens. Sure, still need some inside lines, but why would you want a language that seems to parse "200 * sin time" and "rotate_y 20 * time" at the same time?
And of the things I have played with recently, the example looks just like layout definition in Scaloid.
-
Re:Where is IF-THEN-ELSE more verbose than that?
I'm curious, when is the definition of a content-free if-then-else statement more than a couple of lines? A random line from a
.ddd template (end of file) in their source code seems to indicate they're using an if( <condition> ) then block with no attached end statement, with whitespace presumably being meaningful (though in the sample I linked the indenting doesn't seem to be very consistent at the end). This seems like an odd thing to boast.Looks like the "then" is the same as running code inside "{ }". Could be wrong, then again, couldn't care less about whitespace reduction, it usually costs in readability for minimal gains. I like my Brackets, makes code clear and concise.
-
Also on indentation-based languages like XL
A thread started by me in 2000 to comp.lang.lisp: https://groups.google.com/foru...
A site on indentational Lisp by someone else: http://readable.sourceforge.ne...
-
XL looks pretty neat!
I like expandable languages (although they can suffer from developer confusion reading new constructs and now knowing what they do, depending on how easy it is to go to the source of the new construct, which is why I like Smalltalk's keyword approach integrated with its code browser). When I made another comment above about creating an ANTLR grammar for Tao3D to make it more portable, I did not realize you had created XL and it underlies much of the Tao3D language. So, I'd suggest instead you could add a new backend for XL so it can output JavaScript (ideally in asm.js format). Then, if you could compile your C++ to asm.js with emscripten, with a little bit of JavaScript framework magic, you might quickly have a version of TaoJS that runs in a web browser.
-
Re:Point?
The project actually started in 2009. And I'm not even sure that WebGL is mature enough today for some of the things we do. It's not so long ago that Microsoft adopted it. And hey, it can't even display the background shaders on http://tao3d.sourceforge.net..... Enough people started complaining that I had to remove them.
So if WebGL is not good enough for a web page, I doubt it would be good enough for many of the features in Tao3D. But one benefit of open source is that you can try and transcode it in JavaScript and see how well it works. I'm really interested to see you display 3D extruded arabic text on your 2011 Blackberry
;-)