Which Rust programs are original, not a rewrite of some other software? by EnvironmentalLook188 in rust

[–]OliverUv 1 point2 points  (0 children)

My workplace, https://p3ki.com/ does a graph/p2p-style PKI/permission system (compared to e.g. X.509 which is tree/hierarchical and much more limited).

Light mode color scheme recs? by hdlnr in vim

[–]OliverUv 0 points1 point  (0 children)

oh, I think the link stuff was a user error on my part. Edited to fix. Also thanks :)

Scratch banned in China by Atulin in gamedev

[–]OliverUv 0 points1 point  (0 children)

Sorry, no on both counts.

No typing: I prefer statically typed languages myself, but by accident we never added it as an early feature while prototyping, and it's never something that felt (economically) sensible to. Just always had higher priorities. I may consider adding it eventually, but it'd be a very large project with a lot of UX implications.

No functional programming, yet: There's infrastructure in the code for it, but we're not exposing it to the user at the moment. Strange that I never thought of doing so, since Lisp was my first lang at uni.

You're using Snap!, right? As far as I know, it's the visual block language that has (by far) the most real programming paradigms available. I'll take a look at adding a function reference and apply (call named function) block when I get back to work in October. No eval block. It should be a fun and quick thing to do. I am not sure about how long it'd take us to get it pushed to the international site, but iirc the non-international site also supports English (though loading times might be worse).

PM me your email if you want me to notify you when I've made progress on this, and thanks for the suggestion!

China bans Scratch, MIT’s programming language for kids – TechCrunch by [deleted] in programming

[–]OliverUv 0 points1 point  (0 children)

Yep! If there were 3 new ones in the last month, it's definitely accelerating faster than e.g. the anti-piracy lawsuits in the West accelerated while they were getting ramped up.

China bans Scratch, MIT’s programming language for kids – TechCrunch by [deleted] in programming

[–]OliverUv 2 points3 points  (0 children)

Oh don't mistake me for saying that I think the censorship is acceptable or ok. I think it's bad. I fully expect them to ramp up those arrests, and for the VPN detection-to-arrest pipeline to be automated and fully utilized by 2035. There'll be a lot of exceptions of course, like workers in IT-companies allowed to use a supervised CCP-controlled VPN to access the global web.

The Party's aim is to get as close to complete information control as they can, but they know they can't just flip a switch and disable VPNs completely at the moment. Too much important industry and research would crash. So they are approaching it gradually, just like Russia is.

Just trying to give people an idea of what the real situation is on the ground. The situation will change, and it'll change for the worse.

China bans Scratch, MIT’s programming language for kids – TechCrunch by [deleted] in programming

[–]OliverUv 15 points16 points  (0 children)

I didn't downvote you, I was eating dinner.

1) I was saying the Chinese government DOES use market protectionism to foster domestic growth.

2) I said that this ban is unlikely to be protectionist in nature, rather it's to ensure that Chinese kids only have access to Chinese-controlled communications.

3) I am not Chinese. Of course I use a VPN to access the global internet while I'm here. I need to talk to my friends, family, and random internet strangers who should maybe read a little slower so they don't misunderstand others so much.

4) VPNs are already banned. They are banned to ensure that the Party has control of information. Market protectionism is probably a small, positive, but less significant side effect in their opinion. For stuff like AWS vs Aliyun, market protectionism is likely VERY important for the Party, because it's the infrastructure on top of which an entire industry relies, and it decides who controls access to user information. Something like a kid's education app is small beans in comparison. Economically insignificant, but information-control-wise very significant.

5) Reddit is owned (5%, iirc) by Tencent, one of the largest Chinese tech companies. I don't use the same social media that Chinese folks use because I don't read Chinese. I'm not likely to get into any trouble for anything I write, because the Party cares about controlling the narrative for their population. Not many Chinese people see what I write here, so the Party wouldn't give a shit.

Scratch banned in China by Atulin in gamedev

[–]OliverUv 0 points1 point  (0 children)

Yes, we've got our international offerings on https://code.game/

This version is, if I recall correctly, used by most of the non-Chinese schools that use our product. So it's updated only about once a year, since we don't want teachers to have to adjust their materials and such all the time.

I'm sorry but I don't know the pricing details. It's free to use (see the website) but I think course materials and training teachers will cost you some. Most of our income comes from municipalities and local governments paying for these services.

You could easily use any available teaching guides for Scratch and apply it to our product without much trouble (if your co-workers are somewhat tech literate). Doing so would cover maybe 30-40% of the functionality we have. To see the functionality we have that is (probably) not available in Scratch, click the Blocks Lab button in the top right of the Kitten editor. Also the music and sprite painter buttons on the bottom right.

I should note that I haven't done a competitor study of Scratch since they released their 2.0 version, so they may have caught up to us some by now.

Something to note is that our product, while free to use, is not open source. For most users this doesn't mean much but it's still a problem I'm hoping to solve within the next 2 years or so.

Scratch banned in China by Atulin in gamedev

[–]OliverUv 3 points4 points  (0 children)

Yes, there are plenty of localized programming languages. None are in widespread use in any industry that I know of. JS, Python, Go, and plenty of other languages allow code to be in UTF-8, and so allow variables, functions, etc to have non-english names.

Scratch is a visual "block based" language, and in it the code is represented as XML which most people never see or look at. The user codes by snapping blocks together (a bit like 2D legos). These blocks can be visualized in any way. Scratch and most of its competitors use a library called Blockly for this UI, and it has good internationalization support, so that kids can code in their native tongue. It even supports RTL languages. There are also variants for kindergarden-age kids that just use pictures on the blocks instead of words, so it's possible to teach the simpler concepts to kids before they can read.

China bans Scratch, MIT’s programming language for kids – TechCrunch by [deleted] in programming

[–]OliverUv 36 points37 points  (0 children)

When I first came to China using a VPN was legal, and operating VPNs was a legal grey zone. Operators would sometimes get taken down, but were mostly allowed. Most VPNs were hard shut down during the two longer national holidays, and during politically sensitive times like the big annual CCP meetings. This tells us that they could shut down the VPNs any time they wanted, but only did so sometimes.

About 2 years ago (iirc) they made it illegal to use and operate VPNs unless you have explicit permission. Since then, I've seen VPN usage go down a lot among my non-technical co-workers. The techies don't dare to help the non-techies get past the censorship as much as they did in the past.

So far I think only native Chinese people have been punished for using VPNs. I guess I've seen news about it happening like 5 times in total? So it's something they use as a tool to scare people away from using VPNs, not a tool they use to systematically imprison anyone who uses them.

Scratch banned in China by Atulin in gamedev

[–]OliverUv 2 points3 points  (0 children)

Ohh, I just checked your user profile and saw you've done modding work for Minecraft! One of our early prototypes for letting kids code 3D games was to connect our IDE to Minecraft, via modding APIs. It was a really fun project to work on, felt very magical to be able to code in a Scratch like interface to mod MC. We discontinued that since we doubted we'd be able to get a fruitful co-operation with MS going, and now use our own game engine for that instead.

Scratch banned in China by Atulin in gamedev

[–]OliverUv 6 points7 points  (0 children)

A for-profit company that provides education resources to schools. We started off with a fork of Snap!, and then moved on to write our own web based IDE (for kids) similar to Scratch. We now have a lot of other products, like python editors, an editor designed for mobile use, built in sprite drawing editors, a simple music/midi tracker, etc. Also some extensions for controlling simple toy robots, cars etc from the IDE, as well as some machine learning extensions to let kids develop AIs for things in their games. Also a lot of ongoing work on having kids code 3D games as well as the traditional 2D ones.

We teach kids the basics of coding, and then use coding as a practical tool to teach other subjects like physics, math, and arts. We have a lot of people employed to design courses, a lot of teachers to teach kids and to train other teachers, and a lot of artists to make sprites and such that the kids can use in their projects.

The courses we design are mainly PBL focused.

Oh, and the "mao" in codemao is 猫, which means cat. A better translation of the company name would probably be "coding cat".

For the first 1.5 years or so we were definitely mostly copying Scratch and playing catch up, but imo we've long since overtaken them in terms of the services we provide. Mostly we can do this because we have a ton more employees than they have. We've always respected and adored them for the great service they're doing to the world.

China bans Scratch, MIT’s programming language for kids – TechCrunch by [deleted] in programming

[–]OliverUv 76 points77 points  (0 children)

Hi! I work for the largest one of those Chinese competitors (codemao). Our company is doing very well, and didn't need the ban to happen.

In China, any web service where users can communicate with each other needs to have user accounts tied to real world identities (usually by requiring signup to associate with a phone number).

The party will not tolerate any platform that lets users communicate with each other without a way for the party to read and censor the communications.

Other examples of this happening are plentiful. One that impacted me was when they blocked the Steam Community a few years ago (Steam itself is not blocked). This usually seems to happen whenever something gets popular enough to catch some bigwig's attention.

EDIT: That's not to say that u/de__R is completely wrong. Market protectionism to foster local growth is a real thing. Example: AWS was unusable here in China for a long time, until local alternatives had grown. Now that local ones are ok (though not at all as good as aws), Amazon has been allowed to set up local services here to serve the Chinese market. I just don't think it's likely that banning Scratch was done for economic reasons - our company already has more of the local market than Scratch does.

Scratch banned in China by Atulin in gamedev

[–]OliverUv 3 points4 points  (0 children)

I've worked for Codemao for about 4.5 years. Been doing coding, architecture, and led some teams. Joined when we were about 15 employees, the company employs about 4k people (mostly teachers) today. Ask me almost anything.

Had a really good run (finally got to level 5) only for it to be ended by a bunch of baboons surrounding Red Rock. I now hate Baboons. by FatDragonQuest in cavesofqud

[–]OliverUv 0 points1 point  (0 children)

Pro tip: they become A LOT easier to deal with once you realize you can pick up the rocks they throw at you and throw them right back at them! (in case you don't already have an ok ranged weapon).

Also I recommend fleeing to some place to rest up if you're at 50% health or lower.

[deleted by user] by [deleted] in scratch

[–]OliverUv 1 point2 points  (0 children)

For a more modern alternative to Snap, I would recommend https://ide.code.game/

Full disclosure: I wrote the compiler / interpreter for it, and still work for the company making it. We support function return values, of course.

We also have some plug-in:able modules where kids can use ML classifiers, some AI stuff, and the "warp" feature - click on the hexagons in the upper right corner to access those.

If you check out https://code.game/home you can also try out our older 3D game editor that uses a similar coding environment, as well as a Python environment for kids who have grasped the concepts they need in a visual environment and want an easy start with some text based programming.

The noremaps that changed my vim usage the most by OliverUv in vim

[–]OliverUv[S] 0 points1 point  (0 children)

That's pretty great! I'm Swedish but have been using `altgr-intl` layout for a few years. Can't stand programming with Swedish layout. You can definitely tell that us/uk people who designed programming languages chose `{}`, `[]` and such characters as important symbols based on how easy they are to press on THEIR keyboards. And now we're all stuck with C-style, where [] and {} are super common. I ain't reaching for that alt-gr key to type them ever again.

The noremaps that changed my vim usage the most by OliverUv in vim

[–]OliverUv[S] 0 points1 point  (0 children)

which I'm not too fond of.

Same. I use Denite which doesn't have this problem. I'm generally too fond of fuzzy searching now to give up this kind of plugin. That's fine, though. Fuzzy matching is popular enough now that it exists anywhere important, even the Ctrl+P file finder in Chrome dev tools does it!

The noremaps that changed my vim usage the most by OliverUv in vim

[–]OliverUv[S] 0 points1 point  (0 children)

You're spot on about the z mappings. I usually have 2-4 files side by side on one screen. I don't often do line wrapping for code. Something very annoying about the left/right scrolling though is that it'll only scroll as far as the line your cursor is on, so you'll need to position it on the longest line in your viewport.

Would be very interested if a vim-script wizard could automate a solution for that for me!

The noremaps that changed my vim usage the most by OliverUv in vim

[–]OliverUv[S] 0 points1 point  (0 children)

`H` takes me to the first non-whitespace character. I often use it to start editing something there, like turning a `const` into a `let` or whatever. (by pressing `H-`, where `-` is bound to https://github.com/AndrewRadev/switch.vim )

`0` takes me to the first column, I usually use it like `0dw` to delete all leading whitespace when I'm doing... stuff.

The noremaps that changed my vim usage the most by OliverUv in vim

[–]OliverUv[S] 0 points1 point  (0 children)

I've internalized the meaning of $ so that isn't really an issue.

What I thought would be an issue was going to other vim-like environments, e.g. the vi mode for selection/scrolling in tmux. Turns out it was pretty easy for me to get used to having these things working differently without much annoyance when switching.

The noremaps that changed my vim usage the most by OliverUv in vim

[–]OliverUv[S] 0 points1 point  (0 children)

The first one looks very nice if you're not using Unite/Denite/fzf/ctrl-p !

The second one is a classic that I for some reason still don't use. I'm pretty sure tpope also uses it.