Hacker Newsnew | past | comments | ask | show | jobs | submit | more tehologist's commentslogin

I used to do this with Virtual Box running locally. I found the performance of the windows x client was superior to trying to use x directly in the virtual machine. I wish the protocol supported audio.


I am pretty sure logo is mostly a lisp without parenthesis. I find it a lot more readable than most lisp dialects. I am not sure why it never caught on.


I was about to post exactly the same… haha.

I’ve been doing a recent deep dive in languages as part of my own overly ambitious language attempt and only recently found out that Logo was in fact Lisp based.

I’m guessing that the reason it might not have taken off is because, unfortunately, it was looked upon as a ‘kid language’.

The goals of Papert and others seem a far cry from where tech has landed today.

edit: for an egregious typo


It is. A piece of trivia: AFAIR, you say

  SUM 2 3
in Logo to add two numbers, but

  [SUM 2 3 4]
to add more. (Though I learned Logo more than three decades ago, so I might be mistaken.)


https://atariage.com/store/index.php?l=product_detail&p=949

http://8bitworkshop.com/v3.1.0/?=&platform=vcs&file=examples...

https://archive.org/details/StellaProgrammersGuide

There is also batari basic, not sure how much more accessible or easy they could make it. The first link cartridges should work in 2600+


The universe is aging at an alarming rate.


I am so happy to see Charles is still releasing new versions. Has a lot of interesting designs on functional programming using the stack. You can see the inspirations from joy and the portable virtual machine is well designed and easy to understand. This is a great project to study and experiment with.


Copyrighting code never made sense to me. We already have patents for intellectual property. If two people use the same RFC or Whitepaper for an algorithm in the same language, they will probably name the variables similarly and their code will look very similar. Just like if two people wrote out the same hamburger recipe or instructions for hooking up a stereo would also write something similar.

The copyright on the implementation will outlive the patent and allow the implementor to legally take action on claims of copyright infringement. Even though a program is literally just a list of instructions to implement the expired patent.


Copyright protects not the idea, but specific implementation of it. It's there to prevent unauthorized copying of software. Not every software has to be novel enough to be patentable, but may still take effort to write a millionth-first JS framework.

If you take someone else's software without a license and rename variables, it will be a copyright violation, because you've copied (and then modified) it without permission.

But if you write your own software from scratch, even if it happens to be almost identical to someone else's code, that's fine. You've done your own work and a copyright owner can't stop you from doing that. They control their own work only.

As you can see, this is very much tied to human work and intent, since the concept has been invented long before ML existed. This is why ML "learning" and doing "work" is so controversial and appears to be a loophole in copyright.


From my understanding GPL originated because Stallman was upset about a version of Emacs he was working on at school (MIT Licensed). The person he was working on it with took the source code and started a commercial company, but had no interest in working with Stallman professionally. So Stallman started his free software crusade with his own version of Emacs and replicating every tool needed to build it with his own "FREE" license. This has always bothered me as GPL is far more strict of a license than either BSD or MIT.


> This has always bothered me as GPL is far more strict of a license than either BSD or MIT.

In a similar manner, democracy is far more strict than anarchy because you can't kill and loot whatever you want.

Yes, I'm comparing murder and theft with taking away users' freedom. Yes, murder and theft are probably considered worse than proprietary software in the eyes of many. My point is that just because something is more restrictive, doesn't in itself make it worse.


I avoid GPL projects because I am a software developer and the idea of the project dictating how I can release my own source is a big FU to me. If I can find software that is licensed with a non restrictive license I will always support it over anything that is GPL. I have had a few projects I was very interested in and considered helping out on, but the GPL license is a non starter for me.

If you have to redefine the word "FREE" to mean freedom and your license is several pages of lawyer speak, then that is a problem.

I will take anarchy over crazy ideology any day of the week.


> I avoid GPL projects because I am a software developer and the idea of the project dictating how I can release my own source is a big FU to me.

GPL doesn't restrict how you can release your own source code - even if you release your project as GPL, you can still release it under MIT, or a commercial license - it's your code, and you're the copyright holder. The restrictions only apply to code derived from other GPL projects, but that isn't really "your code".

Your reason for avoiding GPL seems to be that you cannot take GPL code and release it under a non-free license. That's exactly the behavior that GPL is designed to prevent - the bottom line is users' freedom, not developers' convenience.


I generally favor permissive licenses myself for various reasons.

However, the relevant perspective on the GPL is that it's not really about freedom for developers. It's about freedom for users. If I as a developer/company want to ship modified FOSS to end-users. I can't hold the modifications back as secret sauce.


Yes, and the specific strictness is the point! The point is that there isn't really such a things as "no laws". Dynamics between people don't stop to function just because there are no laws applied. The most basic thing is that if you don't restrict the use of force effectively, then the use of force will most certainly determine the order of things - you end up with tyrants, or warlords, essentially.

Translating this to the world of software licenses, similar things happen. With MIT, and BSD, an entity can take the project and just run with it. Neither the original owner, nor the ecosystem benefits. This is cool with some people, in theory, but from time to time, significant regret is demonstrated, of which my favorite is Tanenbaum learning from the media that Intel uses his system in all of the CPUs.

https://www.tomshardware.com/news/minix-creator-letter-intel...

I also recommend contemplating the "Paradox of tolerance" - a similar situation. It posits that in order to have a sustainable tolerant society, one must not tolerate intolerance - for if we do, it will take over, ending the tolerant society.


I agree it is far more strict, but I am glad it exists. I do throw the MIT license on most of my projects, so its rare that I license things with GPL. But at the end of the day, having the BSD and MIT license and the GPL licenses gives us all the options we want. Want to produce something and don't care how it gets used? MIT or BSD license. Want to create something, offer it for free, and know that nobody will modify your code and start selling it? GPL.


> Want to create something, offer it for free, and know that nobody will modify your code and start selling it? GPL.

You can modify somebody's GPLed code and start selling it. The only restriction is that you must offer to share your source code with your customers and give them all of the same rights you have under GPL.

There is also a loophole that lets you sell modified GPLed code without sharing the source or giving them your GPL rights: run it on a server. AGPL closes this loophole which is why it is unpopular with large tech companies.

Any license that prohibits selling modified versions of somebody else's code would, if it became popular or was adopted by a popular project, be denounced by both FSF and OSI for violating the principles of the FOSS movement because the right to sell other people's FOSS software is considered an important user freedom. Writing such a license involves making fairly trivial changes to MIT or BSD but does make it impossible to combine any code licensed under it with GPLed code.


>Want to create something, offer it for free, and know that nobody will modify your code and start selling it? GPL.

Someone can absolutely do that. They just need to share the modified source code.


I didn't really understand forth till I tried implementing eforth in c.

https://github.com/tehologist/forthkit

Managed to write a compiler/interpreter that could understand enough forth to implement the entire system. Less than 500 lines and only uses stdio.h and compiles using TCC

https://bellard.org/tcc/

That was so much fun I built a second one in under 300 lines of javascript for experimenting with canvas api in web browser. Single file doesn't require a server, you can drag and drop code onto text window.

https://github.com/tehologist/ecma6-forth

Runs standalone, I want to get back to it again.


Along similar lines, i once watched this guy on YouTube implement a Python-based Forth _compiler_ (not interpreter) and optimize the crap out of it. It was a great video, if anyone’s interested it was called “Porth” and i think his GitHub page has a link to the video.


Found the video you referenced.

https://www.youtube.com/watch?v=8QP2fDBIxjM&list=PLpM-Dvs8t0...

I met the creator Charles Moore a few times. When I lived in the bay area and used to go to the svfig (silicon valley forth interest group) meeting. He would often talk about forth was like solving a puzzle, likened it to sudoku. It is a good exercise for the brain and I highly recommend it.

https://www.forth.com/starting-forth/


Back in the eighties I went to a presentation by Moore on VLSI design featuring a GUI design tool he wrote in Forth. The physical user interface was via contacts taped to his fingers and thumb, he would touch them together to navigate the UI. We were very impressed.

I still have a tshirt that reads “Be Moore Like Chuck”…


I know it's a lot of fun writing Forths and that's how most people tend to experience Forth, but I like to urge people to actually build applications on Forth. Understanding Forth by writing applications is probably the best way to get a feel for Forth.


Is there any "battery-included" ANS Forth (more or less like Python/Go) which provides access to concurrency, networking, database, GUI, etc?

Not an embedded device programmer, but mostly deals with frontend apps, and occasionally backend, so those are very relevant to me.

Or perhaps use "non-traditional" Forths like 8th (https://8th-dev.com) or Factor (https://factorcode.org)?


gForth is probably the closest you'll get to a batteries-included ANS Forth. It has a lot of libraries and does have some GUI libraries. It definitely has networking and some amount of db words, I'm not sure what it's concurrency situation is like.

8th is a great not-Forth. Highly recommended because of how practical is.


https://github.com/tehologist/forthkit

I did exactly this, was curious if I could write an outer and inner interpreter in pure c in under 500 lines with only 5 c functions. I then used that to boot strap an image that can run using only the inner interpreter.

http://chiselapp.com/user/tehologist/repository/compc/index

Also several experimental versions. Final version includes a pdf that documents how the c code works.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: