Matching Pages:
TimurIsmagilov & LionKimbro talked for about an hour and a half on 2021-01-06. We talked about many things, but the basic thrust was: * What's so important about wiki? * Why don't people use wiki? * How can we make it simpler to engage with wiki? From there, there were two lines of thought: * a HalfVisualEditor * a full InteractivitySystem Along the way, we also discussed InternetOfficeHours as a concept, our respective programming language journeys, and about different programming philosophies. ## Notes from our Discussion ### Why are we here? We started with WikiRevival. "What's so important about wiki?" * Knowledge Accumulation -- (PublicRefineryProcess) * Organization of Knowledge (Lion TODO: Include links to topics we've written about this for, and how information refines over time.) ### Why don't people use wiki? The issue of: * Why don't people use wiki? We have to figure this out. * The example of a person in chat. They post great information, but will not put it onto the wiki. "Nobody moves things afterwards." * For some reason people don't like writing on the wiki. We discussed some WikiLike things like: * the WaniKani editable spaces, * the idea of a WikiLikeChatMedium ** where you could add anchors into the chat ** where you could edit the history of the chats ### Interactive Systems Then we talked about the possibility of using a InteractiveSystem, a graphical system, that people like and feel comfortable with. Lion recounted the argument he gave to Alex on page (TODO: insert page title here). We discussed Ward's FederatedWiki, though our problem with that is "We can't figure out howto edit it." TODO: ask Ward how to edit SmallFederatedWiki. We discussed half-way measures -- so when you press Ctrl-B, it puts WikiMarkup around a section of text. "Half-way interactive." We discussed Image Galleries in MycoMarkup -- https://mycorrhiza.lesarbr.es/page/mycomarkup "It would be easy to create an interactive system for the creation and insertion of, for example, these galleries." It's simple to create a tool, that dialogs with the user, and then spits out the markup, and the text is in the simple TextEditor. The concept of using an Object block ("I don't know how to render this") within an interactive environment. Handling codes that are not understood. ### Makepad and WebAssembly WebAssembly can be used for implementing such a system. See https://makepad.dev for an example. GitHub: https://github.com/makepad/makepad Check if your browser supports it by visiting https://webassembly.org/roadmap/ "Makepad is a creative software development platform for Rust that compiles to wasm/webGL, osx/metal, windows/dx11 linux/opengl" HalfVisualEditor -- the name for this kind of a hybrid system, where it's flexible because anything that can be done in text can be done with it, and it's easily extended by programmers, and not requiring all of the consistencies and work of a full on editing environment. ### Internet Office Hours? We discussed names -- * WikiMeet wouldn't work because we're talking about meetings which are not wiki-specific. We can use it for CommunityWiki-specific meetings though. "The concept of “office hours” for business goes back to a universal ritual from our college days. We’d take classes with professors who were busy, distracted from teaching with research in the lab or the library, and otherwise remote and unapproachable. But we knew that for a couple of hours, at least one day a week, we could stop by their office, ask for advice, try out an idea, and get the guidance we needed." -- [https://hbr.org/2009/12/should-you-hold-office-hours Bill Taylor, "Should You Hold Office Hours?", 2009-12-02] ### Should Lion Get Over His Hatred of JavaScript? Plus: * It has a very good std. library. * It's the universal language right now. Negatives: * Unintuitive Things that have changed: * Apparently, Javascript is today deterministic -- what you write in one browser is the same in others "You should note that your opinion is based on Javascript in 2003." "You know what else was popular?" "..." "PHP." "Oh, it's a //great// language!" Apparently, the last 7th version of PHP is very good and very fast as well. Python: * ListComprehension is not intuitive for some people -- Timur * Lion breathes ListComprehension. JavaScript can be bad, but you don't really have to use it //that// lot because HTML and CSS do a lot of hard work already. DSLs rock. ### Brief History of Lion's programming * Imperative (~6-12) * object oriented (C++, ...) * functional in college, ... * then ~30 years old, started focusing on Notation, * very quickly after found APL and Forth ### Elegant Objects Timur advocated for exploration of "Elegant Objects": https://www.elegantobjects.org/ His code includes: https://github.com/yegor256/eo * don't use getters/setters * nothing ending in -er * no static methods * no singletons * no null * avoid using new * avoid exceptions EoLang by Yegor Bugayenko is an implementation of a language which encourages ElegangObjects ideas: https://www.eolang.org Aiming for declarative programming. ### Timur's Path * Couldn't learn [[Python]] at first * [[Ruby]] formed his tastes for the life * JavaScript * Some [[Arduino]] stuff * Affection for [[Scheme]] * Sympathetic for [[Shell]] and [[Perl]] * GoLang ### Lion's secret programming techniques * Step 1: Identify the notation underneath the system -- the realm of what is varying? what is not fixed? what notation represents this problem space and its solutions? * Step 2: Create DSLs that give rigor, (clarity, definition,) to the problem and it's solution * Step 3: Write the interpreter for that DSL Some notations: ``` 5 ->X 10 ->Y TL BR 5 FEATHER "frffrfrffr" — rectangle (1x2) "frflffrffflffflffffffflfff" (a particular rectilinear curve) for c in s: if c == "f": turtle.fd(10) elif c == "r": turtle.rt(90) elif c == "l": turtle.lt(90) ```
Summary:
This change is a minor edit.
Please make sure you contribute only your own work, unless you fully understand the copyright implications of submitting someone else's work. By contributing here, you grant CommunityWiki permission to publish your work under the terms of the CommunityWikiLicense.
Empty lines separate paragraphs. Paragraphs may span several lines. Asterixes ('*') introduce list items. One list item per line. Plain URLs get hyperlinked. Words in camel case (mixed case) are transformed into local links.
If you want to keep your IP a secret, you need to use Tor.
To save this page you must answer this question:
Please say good bye.
Username:
Replace this text with a file
Languages: en de fr it pt