#prototype in JavaScript
Explore tagged Tumblr posts
Text
Javascript functions interview questions, Closures & ES6 Part 2
javascript functions interview questions including closures, scope, IIFE, prototypes, and currying. Essential for frontend developers preparing for technical interviews in 2025. Javascript functions interview questions 🚀 Javascript functions interview questions 🚀 Javascript functions interview questions16. What is a Closure in JavaScript?17. What is Scope in JavaScript?18. What is the…
#advanced JavaScript interview questions#currying in JavaScript#JavaScript closures#JavaScript IIFE#JavaScript scope#JavaScript technical interview#prototype in JavaScript
0 notes
Text
Do you need a website?
just CLICK HERE and build your own website by your choice.
https://go.fiverr.com/visit/?bta=1026601&brand=fiverrmarketplace&landingPage=https%253A%252F%252Fwww.fiverr.com%252Fs%252FKe716Q4
#Website Design#Web Development#Responsive Web Design#UI/UX Design#Web Design Trends#Custom Web Design#Web Development Services#Front-End Development#Back-End Development#Full-Stack Development#WordPress Design#E-commerce Web Design#Website Redesign#Mobile Web Design#Web Design Inspiration#Website Optimization#SEO Web Design#Web Design Best Practices#Website User Experience#Web Design Principles#Graphic Design for Websites#Website Development Tools#Content Management Systems#Website Speed Optimization#HTML/CSS Design#JavaScript Development#Website Accessibility#Interactive Web Design#Website Prototyping#Web Design Software
0 notes
Text
All About JavaScript Loops
New Post has been published on https://thedigitalinsider.com/all-about-javascript-loops/
All About JavaScript Loops
Every programming language has loops. Loops perform an operation (i.e., a chunk of work) a number of times, usually once for every item in an array or list, or to simply repeat an operation until a certain condition is met.
JavaScript in particular has quite a few different types of loops. I haven’t even used all of them, so for my own curiosity, I thought I’d do a high-level overview of them. And as it turns out, there are pretty good reasons I haven’t used at least a couple of the different types.
So, for now let’s spend a while exploring the different types of loops, what we can do with each of one, and why you might use one over another. (You’ll think that little play on words is absolutely hilarious by the end.)
The while and do...while loops
First up is the while loop. It’s the most basic type of loop and has the potential to be the easiest to read and the fastest in many cases. It’s usually used for doing something until a certain condition is met. It’s also the easiest way to make an infinite loop or a loop that never stops. There is also the do...while statement. Really, the only difference is that the condition is checked at the end versus the beginning of each iteration.
// remove the first item from an array and log it until the array is empty let queue1 = ["a", "b", "c"]; while (queue1.length) let item = queue1.shift(); console.log(item); // same as above but also log when the array is empty let queue2 = []; do let item = queue2.shift() ?? "empty"; console.log(item); while (queue2.length);
The for loop
Next is the for loop. It should be the go to way to do something a certain number of times. If you need to repeat an operation, say, 10 times, then use a for loop instead. This particular loop may be intimidating to those new to programming, but rewriting the same loop in the while-style loop can help illustrate the syntax make it easier to stick in your mind.
// log the numbers 1 to 5 for (let i = 1; i <= 5; i++) console.log(i); // same thing but as a while loop let i = 1; // the first part of a for loop // the second while (i <= 5) console.log(i); i++; // the third ("end");
The for...of and for await...of loops
A for...of loop is the easiest way to loop through an array.
let myList = ["a", "b", "c"]; for (let item of myList) console.log(item);
They aren’t limited to arrays though. Technically they can iterate through anything that implements what is called an iterable protocol. There are a few built-in types that implement the protocol: arrays, maps, set, and string, to mention the most common ones, but you can implement the protocol in your own code. What you’d do is add a [Symbol.iterator] method to any object and that method should return an iterator. It’s a bit confusing, but the gist is that iterables are things with a special method that returns iterators; a factory method for iterators if you will. A special type of function called a generator is a function that returns both a iterable and iterator.
let myList = *[Symbol.iterator]() yield "a"; yield "b"; yield "c"; , ; for (let item of myList) console.log(item);
There is the async version of all the things I just mentioned: async iterables, async iterators, and async generators. You’d use an async iterable with for await...of.
async function delay(ms) return new Promise((resolve) => setTimeout(resolve, ms); ); // this time we're not making an iterable, but a generator async function* aNumberAMinute() let i = 0; while (true) // an infinite loop yield i++; // pause a minute await delay(60_000); // it's a generator, so we need to call it ourselves for await (let i of aNumberAMinute()) console.log(i); // stop after one hour if (i >= 59) break;
One unobvious thing about for await...of statement is that you can use it with non-async iterables and it will work just fine. The reverse, however, is not true; you can’t use async iterables with the for...of statement.
The forEach and map loops
While these are not technically loops per se, you can use them to iterate over a list.
Here is the thing about the forEach method. Historically it was much slower than using a for loop. I think in some cases that may not be true anymore, but if performance is a concern, then I would avoid using it. And now that we have for...of I’m not sure there is much reason to use it. I guess the only reason that it still may come up is if you have a function ready to use as the callback, but you could easily just call that same function from inside the body of for...of.
forEach also receives the index for each item though, so that may be a thing you need too. Ultimately, the decision to use it will probably come down to whether any other code you’re working with uses it, but I personally would avoid using it if I’m writing something new.
let myList = ["a", "b", "c"]; for (let item of myList) console.log(item); // but maybe if I need the index use forEach ["a", "b", "c"].forEach((item, index) => console.log(`$index: $item`); );
Meanwhile, map essentially converts one array into another. It still has the same performance impact that forEach has, but it is a bit nicer to read than the alternative. It’s certainly subjective though, and just like with forEach you’ll want to do what the rest of your other code is doing. You see it a ton in React and React-inspired libraries as the primary way to loop through an array and output a list of items within JSX.
function MyList(items) return ( <ul> items.map((item) => return <li>item</li>; ) </ul> );
The for...in loop
This list of loops in JavaScript wouldn’t be complete without mentioning the for...in statement because it can loop through the fields of an object. It visits fields that are inherited through the object’s prototype chain too, though, and I’ve honestly always avoided it for that reason.
That said, if you have an object literal, then for...in might be a viable way to iterate through the keys of that object. Also it’s worth noting that if you’ve been programming JavaScript for a long time, you may remember that the order of keys use to be inconsistent between browsers, but now the order is consistent. Any key that could be an array index (i.e., positive integers) will be first in ascending order, and then everything else in the order as authored.
let myObject = a: 1, b: 2, c: 3, ; for (let k in myObject) console.log(myObject[k]);
Wrapping up
Loops are something that many programmers use every day, though we may take them for granted and not think about them too much.
But when you step back and look at all of the ways we have to loop through things in JavaScript, it turns out there are several ways to do it. Not only that, but there are significant — if not nuanced — differences between them that can and will influence your approach to scripts.
#ADD#approach#Arrays#Articles#code#curiosity#Delay#generator#generators#impact#it#JavaScript#language#Libraries#list#loop#loops#map#Method#mind#One#Other#performance#Play#programming#Programming Language#prototype#react#Read#REST
0 notes
Text
1 note
·
View note
Text
youtube
SQUADT Viewer Prototype Progress
#squadt#viewer#prototype#progress#dev#development#nft#javascript#js#wip#work in progress#toy#vinyl toys#rotofugi#jamungo#action figure#2.5d#parallax#Youtube
0 notes
Text
Rambling About C# Being Alright
I think C# is an alright language. This is one of the highest distinctions I can give to a language.
Warning: This post is verbose and rambly and probably only good at telling you why someone might like C# and not much else.
~~~
There's something I hate about every other language. Worst, there's things I hate about other languages that I know will never get better. Even worse, some of those things ALSO feel like unforced errors.
With C# there's a few things I dislike or that are missing. C#'s feature set does not obviously excel at anything, but it avoids making any huge misstep in things I care about. Nothing in C# makes me feel like the language designer has personally harmed me.
C# is a very tolerable language.
C# is multi-paradigm.
C# is the Full Middle Malcomist language.
C# will try to not hurt you.
A good way to describe C# is "what if Java sucked less". This, of course, already sounds unappealing to many, but that's alright. I'm not trying to gas it up too much here.
C# has sins, but let's try to put them into some context here and perhaps the reason why I'm posting will become more obvious:
C# didn't try to avoid generics and then implement them in a way that is very limiting (cough Go).
C# doesn't hamstring your ability to have statement lambdas because the language designer dislikes them and also because the language designer decided to have semantic whitespace making statement lambdas harder to deal with (cough Python).
C# doesn't require you to explicitly wrap value types into reference types so you can put value types into collections (cough Java).
C# doesn't ruin your ability to interact with memory efficiently because it forbids you from creating custom value types, ergo everything goes to the heap (cough cough Java, Minecraft).
C# doesn't have insane implicit type coercions that have become the subject of language design comedy (cough JavaScript).
C# doesn't keep privacy accessors as a suggestion and has the developers pinkie swear about it instead of actually enforcing it (cough cough Python).
Plainly put, a lot of the time I find C# to be alright by process of elimination. I'm not trying to shit on your favorite language. Everyone has different things they find tolerable. I have the Buddha nature so I wish for all things to find their tolerable language.
I do also think that C# is notable for being a mainstream language (aka not Haskell) that has a smaller amount of egregious mistakes, quirks and Faustian bargains.
The Typerrrrr
C# is statically typed, but the typing is largely effortless to navigate unlike something like Rust, and the GC gives a greater degree of safety than something like C++.
Of course, the typing being easy to work it also makes it less safe than Rust. But this is an appropriate trade-off for certain kinds of applications, especially considering that C# is memory safe by virtue of running on a VM. Don't come at me, I'm a Rust respecter!!
You know how some people talk about Python being amazing for prototyping? That's how I feel about C#. No matter how much time I would dedicate to Python, C# would still be a more productive language for me. The type system would genuinely make me faster for the vast majority of cases. Of course Python has gradual typing now, so any comparison gets more difficult when you consider that. But what I'm trying to say is that I never understood the idea that doing away entirely with static typing is good for fast iteration.
Also yes, C# can be used as a repl. Leave me alone with your repls. Also, while the debugger is active you can also evaluate arbitrary code within the current scope.
I think that going full dynamic typing is a mistake in almost every situation. The fact that C# doesn't do that already puts it above other languages for me. This stance on typing is controversial, but it's my opinion that is really shouldn't be. And the wind has constantly been blowing towards adding gradual typing to dynamic languages.
The modest typing capabilities C# coupled with OOP and inheritance lets you create pretty awful OOP slop. But that's whatever. At work we use inheritance in very few places where it results in neat code reuse, and then it's just mostly interfaces getting implemented.
C#'s typing and generic system is powerful enough to offer you a plethora of super-ergonomic collection transformation methods via the LINQ library. There's a lot of functional-style programming you can do with that. You know, map, filter, reduce, that stuff?
Even if you make a completely new collection type, if it implements IEnumerable<T> it will benefit from LINQ automatically. Every language these days has something like this, but it's so ridiculously easy to use in C#. Coupled with how C# lets you (1) easily define immutable data types, (2) explicitly control access to struct or class members, (3) do pattern matching, you can end up with code that flows really well.
A Friendly Kitchen Sink
Some people have described C#'s feature set as bloated. It is getting some syntactic diversity which makes it a bit harder to read someone else's code. But it doesn't make C# harder to learn, since it takes roughly the same amount of effort to get to a point where you can be effective in it.
Most of the more specific features can be effortlessly ignored. The ones that can't be effortlessly ignored tend to bring something genuinely useful to the language -- such as tuples and destructuring. Tuples have their own syntax, the syntax is pretty intuitive, but the first time you run into it, you will have to do a bit of learning.
C# has an immense amount of small features meant to make the language more ergonomic. They're too numerous to mention and they just keep getting added.
I'd like to draw attention to some features not because they're the most important but rather because it feels like they communicate the "personality" of C#. Not sure what level of detail was appropriate, so feel free to skim.
Stricter Null Handling. If you think not having to explicitly deal with null is the billion dollar mistake, then C# tries to fix a bit of the problem by allowing you to enable a strict context where you have to explicitly tell it that something can be null, otherwise it will assume that the possibility of a reference type being null is an error. It's a bit more complicated than that, but it definitely helps with safety around nullability.
Default Interface Implementation. A problem in C# which drives usage of inheritance is that with just interfaces there is no way to reuse code outside of passing function pointers. A lot of people don't get this and think that inheritance is just used because other people are stupid or something. If you have a couple of methods that would be implemented exactly the same for classes 1 through 99, but somewhat differently for classes 100 through 110, then without inheritance you're fucked. A much better way would be Rust's trait system, but for that to work you need really powerful generics, so it's too different of a path for C# to trod it. Instead what C# did was make it so that you can write an implementation for methods declared in an interface, as long as that implementation only uses members defined in the interface (this makes sense, why would it have access to anything else?). So now you can have a default implementation for the 1 through 99 case and save some of your sanity. Of course, it's not a panacea, if the implementation of the method requires access to the internal state of the 1 through 99 case, default interface implementation won't save you. But it can still make it easier via some techniques I won't get into. The important part is that default interface implementation allows code reuse and reduces reasons to use inheritance.
Performance Optimization. C# has a plethora of features regarding that. Most of which will never be encountered by the average programmer. Examples: (1) stackalloc - forcibly allocate reference types to the stack if you know they won't outlive the current scope. (2) Specialized APIs for avoiding memory allocations in happy paths. (3) Lazy initialization APIs. (4) APIs for dealing with memory more directly that allow high performance when interoping with C/C++ while still keeping a degree of safety.
Fine Control Over Async Runtime. C# lets you write your own... async builder and scheduler? It's a bit esoteric and hard to describe. But basically all the functionality of async/await that does magic under the hood? You can override that magic to do some very specific things that you'll rarely need. Unity3D takes advantage of this in order to allow async/await to work on WASM even though it is a single-threaded environment. It implements a cooperative scheduler so the program doesn't immediately freeze the moment you do await in a single-threaded environment. Most people don't know this capability exists and it doesn't affect them.
Tremendous Amount Of Synchronization Primitives and API. This ones does actually make multithreaded code harder to deal with, but basically C# erred a lot in favor of having many different ways to do multithreading because they wanted to suit different usecases. Most people just deal with idiomatic async/await code, but a very small minority of C# coders deal with locks, atomics, semaphores, mutex, monitors, interlocked, spin waiting etc. They knew they couldn't make this shit safe, so they tried to at least let you have ready-made options for your specific use case, even if it causes some balkanization.
Shortly Begging For Tagged Unions
What I miss from C# is more powerful generic bounds/constraints and tagged unions (or sum types or discriminated unions or type unions or any of the other 5 names this concept has).
The generic constraints you can use in C# are anemic and combined with the lack of tagged unions this is rather painful at times.
I remember seeing Microsoft devs saying they don't see enough of a usecase for tagged unions. I've at times wanted to strangle certain people. These two facts are related to one another.
My stance is that if you think your language doesn't need or benefit from tagged unions, either your language is very weird, or, more likely you're out of your goddamn mind. You are making me do really stupid things every time I need to represent a structure that can EITHER have a value of type A or a value of type B.
But I think C# will eventually get tagged unions. There's a proposal for it here. I would be overjoyed if it got implemented. It seems like it's been getting traction.
Also there was an entire section on unchecked exceptions that I removed because it wasn't interesting enough. Yes, C# could probably have checked exceptions and it didn't and it's a mistake. But ultimately it doesn't seem to have caused any make-or-break in a comparison with Java, which has them. They'd all be better off with returning an Error<T>. Short story is that the consequences of unchecked exceptions have been highly tolerable in practice.
Ecosystem State & FOSSness
C# is better than ever and the tooling ecosystem is better than ever. This is true of almost every language, but I think C# receives a rather high amount of improvements per version. Additionally the FOSS story is at its peak.
Roslyn, the bedrock of the toolchain, the compiler and analysis provider, is under MIT license. The fact that it does analysis as well is important, because this means you can use the wealth of Roslyn analyzers to do linting.
If your FOSS tooling lets you compile but you don't get any checking as you type, then your development experience is wildly substandard.
A lot of stupid crap with cross-platform compilation that used to be confusing or difficult is now rather easy to deal with. It's basically as easy as (1) use NET Core, (2) tell dotnet to build for Linux. These steps take no extra effort and the first step is the default way to write C# these days.
Dotnet is part of the SDK and contains functionality to create NET Core projects and to use other tools to build said projects. Dotnet is published under MIT, because the whole SDK and runtime are published under MIT.
Yes, the debugger situation is still bad -- there's no FOSS option for it, but this is more because nobody cares enough to go and solve it. Jetbrains proved anyone can do it if they have enough development time, since they wrote a debugger from scratch for their proprietary C# IDE Rider.
Where C# falls flat on its face is the "userspace" ecosystem. Plainly put, because C# is a Microsoft product, people with FOSS inclinations have steered clear of it to such a degree that the packages you have available are not even 10% of what packages a Python user has available, for example. People with FOSS inclinations are generally the people who write packages for your language!!
I guess if you really really hate leftpad, you might think this is a small bonus though.
Where-in I talk about Cross-Platform
The biggest thing the ecosystem has been lacking for me is a package, preferably FOSS, for developing cross-platform applications. Even if it's just cross-platform desktop applications.
Like yes, you can build C# to many platforms, no sweat. The same way you can build Rust to many platforms, some sweat. But if you can't show a good GUI on Linux, then it's not practically-speaking cross-platform for that purpose.
Microsoft has repeatedly done GUI stuff that, predictably, only works on Windows. And yes, Linux desktop is like 4%, but that 4% contains >50% of the people who create packages for your language's ecosystem, almost the exact point I made earlier. If a developer runs Linux and they can't have their app run on Linux, they are not going to touch your language with a ten foot pole for that purpose. I think this largely explains why C#'s ecosystem feels stunted.
The thing is, I'm not actually sure how bad or good the situation is, since most people just don't even try using C# for this usecase. There's a general... ecosystem malaise where few care to use the language for this, chiefly because of the tone that Microsoft set a decade ago. It's sad.
HOWEVER.
Avalonia, A New Hope?
Today we have Avalonia. Avalonia is an open-source framework that lets you build cross-platform applications in C#. It's MIT licensed. It will work on Windows, macOS, Linux, iOS, Android and also somehow in the browser. It seems to this by actually drawing pixels via SkiaSharp (or optionally Direct2D on Windows).
They make money by offering migration services from WPF app to Avalonia. Plus general support.
I can't say how good Avalonia is yet. I've researched a bit and it's not obviously bad, which is distinct from being good. But if it's actually good, this would be a holy grail for the ecosystem:
You could use a statically typed language that is productive for this type of software development to create cross-platform applications that have higher performance than the Electron slop. That's valuable!
This possibility warrants a much higher level of enthusiasm than I've seen, especially within the ecosystem itself. This is an ecosystem that was, for a while, entirely landlocked, only able to make Windows desktop applications.
I cannot overstate how important it is for a language's ecosystem to have a package like this and have it be good. Rust is still missing a good option. Gnome is unpleasant to use and buggy. Falling back to using Electron while writing Rust just seems like a bad joke. A lot of the Rust crates that are neither Electron nor Gnome tend to be really really undercooked.
And now I've actually talked myself into checking out Avalonia... I mean after writing all of that I feel like a charlatan for not having investigated it already.
72 notes
·
View notes
Text
Web designer in Jodhpur
Creative Web Design
We are a web designing company that has a team of skilled and experienced web designers and developers who can create stunning and functional websites for any type of business or domain. We offer a variety of web designing services, such as custom web design, web development, web hosting, SEO, and maintenance. We also provide you with a free web design consultation, where we can discuss your goals, needs, and preferences, and provide you with a web design proposal that suits your requirements and expectations.
What we do in Web Design
Our web designing services are the services that provide web designing solutions for clients who want to create or improve their online presence. It involves the use of various elements such as colours, fonts, images, graphics, animations, and interactions to convey the message and purpose of the website to visitors. Web designing services can help clients with various aspects of web designing, such as Consultation: Our web designing services can help clients understand their goals, needs, and preferences, and provide them with expert advice and guidance on how to achieve them . Strategy: Our services can help clients develop a clear and effective web design strategy that aligns with their brand identity, target audience, and business objectives.Design: We help clients create a unique and attractive web design that reflects their vision and personality, and that engages and impresses their visitors.Launch: Our services can help clients launch their website to the public, and provide them with web hosting, domain registration, and security services.
Our Design Technology
At Web Farm House, we understand that web design is not just about making a website look good. It is also about making it work well, communicate effectively, and provide value to the users. That is why we use the latest web design technology to create websites that are:
Visually appealing: We use web graphic design to create stunning and consistent visual elements for your website, such as colours, fonts, images, icons, and animations.
Easy to use: We use user interface design to create intuitive and interactive elements for your website, such as buttons, menus, forms, and navigation.
Functional and reliable: We use web development to code and program your website, using languages such as HTML, CSS, JavaScript, PHP, and others. We follow the principles of web standards, web accessibility, web performance, and web security, to ensure the quality and reliability of your website.
Our Work Process
At Web Farm House, we follow a systematic and collaborative work process to create your website. Our work process consists of four main phases: Discovery, Design, Development, and Delivery:
Discovery: This is the phase where we get to know you and your project. We will ask you some questions about your goals, needs, preferences, budget, and timeline. We will also conduct some research on your industry, competitors, and target audience. Based on the information we gather, we will create a project proposal and a contract for you to review and approve.
Design: This is the phase where we create the visual and interactive elements of your website. We will start by creating a sitemap and a wireframe, which are the blueprints of your website’s structure and layout. We will then create a mockup, which is a prototype of your website’s appearance and functionality. We will present the mockup to you and ask for your feedback and approval. We will make any revisions as needed until you are satisfied with the design.
Development: This is the phase where we code and program your website. We will use the latest web development technology to create a website that is functional, reliable, and compatible with different devices and browsers. We will also test and debug your website to ensure its quality and performance. We will show you the progress of the development and ask for your feedback and approval.
Delivery: This is the final phase where we launch and maintain your website. We will upload your website to your chosen hosting service and domain name. We will also provide you with a user manual and a training session on how to use and update your website. We will also offer you ongoing support and maintenance services to keep your website running smoothly and securely.
We will also listen to your feedback and suggestions and make any changes as needed. We will work with you as a partner and a friend, not just as a client and a vendor. we value your input and satisfaction throughout the work process. We will communicate with you regularly and keep you updated on the status of your project.
Our Web Designing Services
Our is provides web design services for clients who want to create or improve their online presence. We help clients with various aspects of web designing, such as consultation, strategy, design, development, testing, launch, and maintenance:
Static web design
Liquid web design.
Adaptive web design.
Dynamic web design.
Responsive web design.
Single-page web design.
Why Choose Us?
We are a One-Stop Solution for delivering the best web design and development services. We render customized and affordable web design facilities to suit your requirements. Choose the best plans for building a responsive web design according to your needs:
Excellent technical support
Core PHP &Codeigniter + MySQL.
Secure and Reliable coding.
Satisfactory Customer Support.
SEO-friendly web development.
33 notes
·
View notes
Text
Holoatypical: Dev Log 1
Number one in what's hopefully going to be a pretty long series of updates!
So, first things first: Godot rocks. I've been using it for two weeks now, having switched from GameMaker (and before that, Twine, and before that, Java and JavaScript), and Godot does so much of the heavy lifting for you. It genuinely feels like an engine that's designed for making games. Unlike GameMaker, which was like wading through molasses every step of the way, while some sort of molasses shark is biting at your ankles. And I've coded in JavaScript.
Second, let me show you what I've been up to!
As you can see, I'm working on a prototype to try out the merging mechanic. It's got some (ha) bugs, and dragging things could be smoother, but the critters do actually snap into the grid and merge now, and I'm very pleased with that.
This chamber you see here is going to be the lab. As it's planned right now, the player will have infinite initial building blocks (eggs, spores, seeds...), which merge into different critters depending on environmental variables (artificially set in the lab) and on which other specimens are currently in the chamber. The challenge is to figure out the right parameters. I have no idea how big the chamber needs to be for that, but that's not really an issue, because...
This isn't so much a prototype as I'm just straight up building the foundations for a game, which is why it's taking me so long. The grid you see here is controlled with a few variables, and everything is flexible enough that I can simply change the grid size during playtesting and it still works.
The tile grid is an array of arrays, filled with slot nodes that I instantiate at runtime. Is this the best way to learn a new program and language? Haha. Who knows.
Specimens have a sprite sheet with all their stages on it, and when a critter levels up, the part that's visible to the player just needs to be shifted 64 pixels to the right.
That's x starting point, which is the specimen stage/level times 64, then y starting point, width, and height. Fun! So easy!!
As to the sprite sheet, I'm going against common advice and making these big. The 1bit style is super fast to do, and in my opinion, a certain level of detail is important to make the sprites look like anything. I'm moreso playing with the look than really wanting to make a retro game.
This sheet only took me an evening! I'm enjoying it because it really forces you to abstract the shape and focus on what's most important about the critter. (This is a style test - I haven't decided yet how weird I want to go with these vs making them look more natural.)
Next up will be ironing out the kinks, making an egg dispenser and a specimen incinerator so the field can be filled up and emptied, coming up with a few more specimen, and then going into play testing.
But in the next dev log, you're probably going to hear way more about the story and the characters. I am eyeing a visual novel extension for Godot (dialogic), which, if it does what I think it does, is going to take a lot of work off my hands and only leaves me with writing the actual dialogue, which I've already started on.
@tragedycoded @badscientist @curiouscalembour @writingrosesonneptune @gioiaalbanoart @monstrify @cowboybrunch @tsunamiscale @marlowethelibrarian
Was this format interesting? Less code? More code? Anything you specifically want me to talk about in this process? Let me know!
19 notes
·
View notes
Text
At college I only learned C, java and fucking assembly (who the fuck uses assembly???). Also a little bit of phyton but it was more "look up how to make this thing happen, copy and paste in the code" instead of actually learning how it works.
Right now I'm trying to understand the rpg maker mv engine, that uses javascript. I've only learned object oriented programming using java.
Imagine my head trying to work around not needing to define the classes, methods and attributes of everything before creating an object.
The fuck you mean I can just add a new attribute out of nowhere to the object? Where are the fucking classes?
Well, after hitting my head against the wall for awhile I'm finally getting the idea of how things works here. Using prototypes to inherit stuff was really confusing at first.
9 notes
·
View notes
Note
hey do you perhaps have that javascript clock from dec. 2024? i've been trying to add a proper clock to my site for a little bit. no worries if you don't have it!
Are you wanting to use it on Tumblr, or just a website? I have a few prototypes I worked on, but gave up on if you'd like me to send them your way. There are also a lot of clock bases I found online if you want just a clock.
4 notes
·
View notes
Text
What Is The Difference Between Web Development & Web Design?
In today’s world, we experience the growing popularity of eCommerce businesses. Web designing and web development are two major sectors for making a difference in eCommerce businesses. But they work together for publishing a website successfully. But what’s the difference between a web designers in Dubai and a web developer?
Directly speaking, web designers design and developers code. But this is a simplified answer. Knowing these two things superficially will not clear your doubt but increase them. Let us delve deep into the concepts, roles and differentiation between web development and website design Abu Dhabi.

What Is Meant By Web Design?
A web design encompasses everything within the oeuvre of a website’s visual aesthetics and utility. This might include colour, theme, layout, scheme, the flow of information and anything related to the visual features that can impact the website user experience.
With the word web design, you can expect all the exterior decorations, including images and layout that one can view on their mobile or laptop screen. This doesn’t concern anything with the hidden mechanism beneath the attractive surface of a website. Some web design tools used by web designers in Dubai which differentiate themselves from web development are as follows:
● Graphic design
● UI designs
● Logo design
● Layout
● Topography
● UX design
● Wireframes and storyboards
● Colour palettes
And anything that can potentially escalate the website’s visual aesthetics. Creating an unparalleled yet straightforward website design Abu Dhabi can fetch you more conversion rates. It can also gift you brand loyalty which is the key to a successful eCommerce business.
What Is Meant By Web Development?
While web design concerns itself with all a website’s visual and exterior factors, web development focuses on the interior and the code. Web developers’ task is to govern all the codes that make a website work. The entire web development programme can be divided into two categories: front and back.
The front end deals with the code determining how the website will show the designs mocked by a designer. While the back end deals entirely with managing the data within the database. Along with it forwarding the data to the front end for display. Some web development tools used by a website design company in Dubai are:
● Javascript/HTML/CSS Preprocessors
● Template design for web
● GitHub and Git
● On-site search engine optimisation
● Frameworks as in Ember, ReactJS or Angular JS
● Programming languages on the server side, including PHP, Python, Java, C#
● Web development frameworks on the server side, including Ruby on Rails, Symfony, .NET
● Database management systems including MySQL, MongoDB, PostgreSQL
Web Designers vs. Web Developers- Differences
You must have become acquainted with the idea of how id web design is different from web development. Some significant points will highlight the job differentiation between web developers and designers.
Generally, Coding Is Not A Cup Of Tea For Web Designers:
Don’t ever ask any web designers in Dubai about their coding knowledge. They merely know anything about coding. All they are concerned about is escalating a website’s visual aspects, making them more eyes catchy.
For this, they might use a visual editor like photoshop to develop images or animation tools and an app prototyping tool such as InVision Studio for designing layouts for the website. And all of these don’t require any coding knowledge.
Web Developers Do Not Work On Visual Assets:
Web developers add functionality to a website with their coding skills. This includes the translation of the designer’s mockups and wireframes into code using Javascript, HTML or CSS. While visual assets are entirely created by designers, developer use codes to implement those colour schemes, fonts and layouts into the web page.
Hiring A Web Developer Is Expensive:
Web developers are more expensive to hire simply because of the demand and supply ratio. Web designers are readily available as their job is much simpler. Their job doesn’t require the learning of coding. Coding is undoubtedly a highly sought-after skill that everyone can’t entertain.
Final Thoughts:
So if you look forward to creating a website, you might become confused. This is because you don’t know whether to opt for a web designer or a developer. Well, to create a website, technically, both are required. So you need to search for a website design company that will offer both services and ensure healthy growth for your business.
2 notes
·
View notes
Text
i would love to develop with you a tampermonkey thingie extension. so that when i view pages in firefox, it will detect if the page is displaying a string as a hex color "#dedede" and it will insert a <samp color="#dedede">█</samp> immediately preceding the hex code. i mean, it seems somewhat simple but for all i know it maybe is too complicated because coding can be strange like that█
ChatGPT said:
Perfect. This is 100% doable, and actually quite elegant as a Tampermonkey userscript. Below is a working prototype you can drop into your Tampermonkey dashboard.
🧪 Tampermonkey Userscript: Hex Color Swatch Injector
// ==UserScript== // @name Hex Color Swatch Injector // @namespace http://tampermonkey.net/ // @version 0.1 // @description Inserts a colored swatch before any detected hex color code on the page like "#dedede" // @author Vākāmbhṛtā + GPT // @match :///* // @grant none // ==/UserScript==
(function() { 'use strict';// Regex for matching hex color codes const hexRegex = /#(?:[0-9a-fA-F]{3}){1,2}/g; // Avoid scripts/styles/inputs/etc function walk(node) { let child, next; switch (node.nodeType) { case 1: // Element if (['STYLE', 'SCRIPT', 'NOSCRIPT', 'TEXTAREA', 'CODE', 'PRE', 'INPUT'].includes(node.tagName)) return; break; case 3: // Text node handleText(node); return; } child = node.firstChild; while (child) { next = child.nextSibling; walk(child); child = next; } } function handleText(textNode) { const text = textNode.nodeValue; const matches = [...text.matchAll(hexRegex)]; if (matches.length === 0) return; const parent = textNode.parentNode; let lastIndex = 0; matches.forEach(match => { const matchText = match[0]; const index = match.index; // Text before match if (index > lastIndex) { parent.insertBefore(document.createTextNode(text.slice(lastIndex, index)), textNode); } // Create swatch const swatch = document.createElement("samp"); swatch.textContent = "█"; // Unicode full block swatch.style.color = matchText; swatch.style.marginRight = "0.25em"; // Insert swatch + original text parent.insertBefore(swatch, textNode); parent.insertBefore(document.createTextNode(matchText), textNode); lastIndex = index + matchText.length; }); // Remainder text if (lastIndex < text.length) { parent.insertBefore(document.createTextNode(text.slice(lastIndex)), textNode); } parent.removeChild(textNode); } walk(document.body); })();
✅ What It Does:
Scans all visible text on a webpage.
Finds strings like #a1b2c3 or #ccc.
Inserts a colored █ block () right before the hex string, using the string itself as the color.
🛠️ To Use:
Install Tampermonkey on Firefox.
Create a new script.
Paste in the code above.
Save & refresh any page with hex codes on it.
🧙 Future Enhancements (if you wish):
Add hover tooltips showing color name.
Customize block shape or size (▇, ■, ⬛).
Highlight swatches in Markdown/JSON/code blocks only.
Option to turn it off/on with a hotkey or toggle.
Want me to iterate with more aesthetic or structural options?
You said:
wow it works fine on most pages! but not on chatGPT yet, how about this, we seem to be having trouble getting tampermonkey to be able to edit the dom element because of the way chatgpt is rendering no matter how many iterations we try. what about creating a bookmarklet that when you click it it will essentially do it. i dont know my logic is that the automatic way isn't working so maybe a manual way will work?█
ChatGPT said:
Yes—great instinct. Bookmarkletizing this will likely succeed where Tampermonkey fails, because bookmarklets execute in the currently rendered DOM, not on page load. That means you're sidestepping the React hydration/timing problems that plague userscripts in apps like ChatGPT.
Here's your code as a bookmarklet:
Clicking this after the page loads will inject the swatches.
✅ Bookmarklet (minified, escaped, and ready to use):
javascript:(function(){const hexRegex=/#(?:[0-9a-fA-F]{3}){1,2}/g;function walk(n){let c;n.nodeType===1&&["STYLE","SCRIPT","NOSCRIPT","TEXTAREA","CODE","PRE","INPUT"].includes(n.tagName)||n.nodeType===3?handleText(n):((c=n.firstChild)?(function loop(ch){let next;do next=ch.nextSibling,walk(ch);while(ch=next)})(c):null)}function handleText(t){const m=[…t.nodeValue.matchAll(hexRegex)];if(m.length===0)return;const p=t.parentNode;let l=0;m.forEach(x=>{const v=x[0],i=x.index;i>l&&p.insertBefore(document.createTextNode(t.nodeValue.slice(l,i)),t);const s=document.createElement("samp");s.textContent="█",s.style.color=v,s.style.marginRight="0.25em",p.insertBefore(s,t),p.insertBefore(document.createTextNode(v),t),l=i+v.length}),l<t.nodeValue.length&&p.insertBefore(document.createTextNode(t.nodeValue.slice(l)),t),p.removeChild(t)}walk(document.body);})();
How to use it:
Create a new bookmark in your browser.
Name it something like Inject Hex Swatches.
In the URL field, paste the whole javascript:(function(){...})(); line above.
On any page (including ChatGPT), click the bookmark after it has loaded.
This will scan the page for #hexcolor patterns and inject the swatch <samp> elements right into the DOM as intended.
Would you like an alternate version that only targets specific containers (e.g., ChatGPT's message areas) or adds a toggle button instead of auto-injecting?
You said:
that bookmarklet isn't working -- i hope i am not asking too much of a bookmarklet█
ChatGPT said:
You're not asking too much—your use case is totally within the domain of what a bookmarklet can and should be able to do. The issue likely lies in either:
React's virtual DOM re-rendering after the bookmarklet runs, wiping changes.
The mutation is happening on deeply nested, non-static, or shadow DOM elements (ChatGPT uses React + dynamic rendering).
Or minor logic bugs during dynamic injection.
Try this revised version:
It ensures that walk() is delayed until the DOM is fully painted and targets only visible content.
✅ New working bookmarklet:
javascript:(function(){const hexRegex=/#(?:[0-9a-fA-F]{3}){1,2}/g;function walk(n){let c;n.nodeType===1&&["STYLE","SCRIPT","NOSCRIPT","TEXTAREA","CODE","PRE","INPUT","IFRAME"].includes(n.tagName)?null:n.nodeType===3?handleText(n):((c=n.firstChild)?(function loop(ch){let next;do next=ch.nextSibling,walk(ch);while(ch=next)})(c):null)}function handleText(t){const m=[…t.nodeValue.matchAll(hexRegex)];if(m.length===0)return;const p=t.parentNode;let l=0;m.forEach(x=>{const v=x[0],i=x.index;if(i>l)p.insertBefore(document.createTextNode(t.nodeValue.slice(l,i)),t);const s=document.createElement("samp");s.textContent="█",s.style.color=v,s.style.marginRight="0.25em",p.insertBefore(s,t),p.insertBefore(document.createTextNode(v),t),l=i+v.length});if(lwalk(document.body),500);})();
What changed:
Delay (setTimeout): gives React time to finish rendering before mutation.
IFRAME exclusion: avoids error-prone iframe regions.
Tighter traversal logic, more robust injection.
Troubleshooting:
Try running it after the full page and responses are visible.
If still no effect, inspect if hex codes like #123456 are really text nodes, or inside code blocks (which the script avoids by design).
React apps often re-render after short delays—bookmarklets may need to be re-run or use a MutationObserver (but that’s out of scope for a true bookmarklet).
Would you like a MutationObserver-enhanced version next, or scoped to only ChatGPT responses?
You said:
IT WORKED!█
ChatGPT said:
🔥 Excellent. That means ChatGPT's DOM wasn't the real obstacle—just timing. Bookmarklets win again.
Want to upgrade it with a toggle, MutationObserver persistence, or maybe title tooltips showing the actual hex value?
#ai#chatgpt#ai hysteria#aihysteria#artificial intelligence#chat ai#llm#tampermonkey#catjapati#चाट्जपति#ia générative#IA generativa#gen ai#genai#aipositive#ai positive
4 notes
·
View notes
Text
Introduction to SkillonIT Learning Hub- Empowering Rural Talent With World-Class IT Skills
SkillonIT provides IN-Demand IT courses, connecting Rural talent with rewarding IT skills through affordable, accessible and career-focused education. with Guaranteed pathways to internship and high paying jobs, start with us and step into Opportunities at top Tech-leading Companies. Skillonit Learning Hub, located in Buldhana, Maharashtra, is a leading institute dedicated to equipping individuals with cutting-edge technology skills. With a mission to bridge the digital divide, the institute provides high-quality education in various IT and professional development domains. Skillonit focuses on practical, industry-oriented training, ensuring students gain the expertise needed to thrive in today’s competitive job market. The hub is committed to empowering rural talent and shaping the next generation of skilled professionals.
Courses Offered Skillonit Learning Hub offers a diverse range of courses tailored to industry demands, enabling students to master both technical and professional skills.
Blockchain Development — Smart Contracts (Solidity, Rust, Web3.js, Hardhat) — Blockchain Protocols (Ethereum, Solana, Binance Smart Chain, Fantom) — Decentralized Applications (DApps) Development
Front-End Development — HTML, CSS, JavaScript — Frameworks: React.js, Vue.js, Angular — Responsive Web Design & UI Frameworks (Bootstrap, Tailwind CSS)
Back-End Development — Server-side Programming (Node.js, Python, PHP, Java, .NET) — Database Management (MySQL, MongoDB, Firebase, PostgreSQL) — API Development (RESTful APIs, GraphQL, WebSockets)
Full-Stack Development — Front-End + Back-End Integration — MERN Stack Development — Database, Deployment & DevOps Practice
Mobile App Development — Cross-Platform Development (Flutter, React Native)
Unity 3D Game Development — Game Mechanics & Physics — C# Programming for Game Development — Virtual Reality (VR) & Augmented Reality (AR) Integration
Professional UI/UX Design — User Interface Design (Adobe XD, Figma, Sketch) — User Experience Principles — Prototyping, Wireframing & Usability Testing
Professional Graphic Design — Adobe Photoshop, Illustrator, and CorelDraw — Branding & Logo Design — Digital Art & Visual Communication
Digital Marketing — SEO, SEM, and Social Media Marketing — Content Marketing & Copywriting — Google Ads, Facebook Ads & Analytics
Spoken English — Communication Skills & Public Speaking — Accent Training & Fluency Improvement
Personality Development — Business & Corporate Etiquette — Confidence Building & Interview Preparation — Leadership & Teamwork Skills
Location & Contact : Address : Chhatrapati Tower, Above Maratha Mahila Urban, 3rd Floor, Chikhali Road, Buldhana, Maharashtra, 443001.
Contact us
Conclusion : Skillonit Learning Hub is revolutionizing IT and professional education by making technology and essential career skills accessible to aspiring developers, designers, marketers, and professionals. With a strong emphasis on practical learning, industry exposure, and career opportunities, it stands as a beacon of growth for young talent in Buldhana and beyond. Whether you are looking to build a career in tech, marketing, design, or personal development, Skillonit provides the ideal platform to achieve your goals. Join Our Social Community
Skillonit #Education #ITCourses #Buldhana #Maharashtra #IT #Blockchain #Fullstack #Front-end #Back-end #MobileApp #Unity3d #UIUX #Graphicdesign #Digitalmarketing #SpokenEnglish #Personality #development
2 notes
·
View notes
Text
Normally I just post about movies but I'm a software engineer by trade so I've got opinions on programming too.
Apparently it's a month of code or something because my dash is filled with people trying to learn Python. And that's great, because Python is a good language with a lot of support and job opportunities. I've just got some scattered thoughts that I thought I'd write down.
Python abstracts a number of useful concepts. It makes it easier to use, but it also means that if you don't understand the concepts then things might go wrong in ways you didn't expect. Memory management and pointer logic is so damn annoying, but you need to understand them. I learned these concepts by learning C++, hopefully there's an easier way these days.
Data structures and algorithms are the bread and butter of any real work (and they're pretty much all that come up in interviews) and they're language agnostic. If you don't know how to traverse a linked list, how to use recursion, what a hash map is for, etc. then you don't really know how to program. You'll pretty much never need to implement any of them from scratch, but you should know when to use them; think of them like building blocks in a Lego set.
Learning a new language is a hell of a lot easier after your first one. Going from Python to Java is mostly just syntax differences. Even "harder" languages like C++ mostly just mean more boilerplate while doing the same things. Learning a new spoken language in is hard, but learning a new programming language is generally closer to learning some new slang or a new accent. Lists in Python are called Vectors in C++, just like how french fries are called chips in London. If you know all the underlying concepts that are common to most programming languages then it's not a huge jump to a new one, at least if you're only doing all the most common stuff. (You will get tripped up by some of the minor differences though. Popping an item off of a stack in Python returns the element, but in Java it returns nothing. You have to read it with Top first. Definitely had a program fail due to that issue).
The above is not true for new paradigms. Python, C++ and Java are all iterative languages. You move to something functional like Haskell and you need a completely different way of thinking. Javascript (not in any way related to Java) has callbacks and I still don't quite have a good handle on them. Hardware languages like VHDL are all synchronous; every line of code in a program runs at the same time! That's a new way of thinking.
Python is stereotyped as a scripting language good only for glue programming or prototypes. It's excellent at those, but I've worked at a number of (successful) startups that all were Python on the backend. Python is robust enough and fast enough to be used for basically anything at this point, except maybe for embedded programming. If you do need the fastest speed possible then you can still drop in some raw C++ for the places you need it (one place I worked at had one very important piece of code in C++ because even milliseconds mattered there, but everything else was Python). The speed differences between Python and C++ are so much smaller these days that you only need them at the scale of the really big companies. It makes sense for Google to use C++ (and they use their own version of it to boot), but any company with less than 100 engineers is probably better off with Python in almost all cases. Honestly thought the best programming language is the one you like, and the one that you're good at.
Design patterns mostly don't matter. They really were only created to make up for language failures of C++; in the original design patterns book 17 of the 23 patterns were just core features of other contemporary languages like LISP. C++ was just really popular while also being kinda bad, so they were necessary. I don't think I've ever once thought about consciously using a design pattern since even before I graduated. Object oriented design is mostly in the same place. You'll use classes because it's a useful way to structure things but multiple inheritance and polymorphism and all the other terms you've learned really don't come into play too often and when they do you use the simplest possible form of them. Code should be simple and easy to understand so make it as simple as possible. As far as inheritance the most I'm willing to do is to have a class with abstract functions (i.e. classes where some functions are empty but are expected to be filled out by the child class) but even then there are usually good alternatives to this.
Related to the above: simple is best. Simple is elegant. If you solve a problem with 4000 lines of code using a bunch of esoteric data structures and language quirks, but someone else did it in 10 then I'll pick the 10. On the other hand a one liner function that requires a lot of unpacking, like a Python function with a bunch of nested lambdas, might be easier to read if you split it up a bit more. Time to read and understand the code is the most important metric, more important than runtime or memory use. You can optimize for the other two later if you have to, but simple has to prevail for the first pass otherwise it's going to be hard for other people to understand. In fact, it'll be hard for you to understand too when you come back to it 3 months later without any context.
Note that I've cut a few things for simplicity. For example: VHDL doesn't quite require every line to run at the same time, but it's still a major paradigm of the language that isn't present in most other languages.
Ok that was a lot to read. I guess I have more to say about programming than I thought. But the core ideas are: Python is pretty good, other languages don't need to be scary, learn your data structures and algorithms and above all keep your code simple and clean.
#programming#python#software engineering#java#java programming#c++#javascript#haskell#VHDL#hardware programming#embedded programming#month of code#design patterns#common lisp#google#data structures#algorithms#hash table#recursion#array#lists#vectors#vector#list#arrays#object oriented programming#functional programming#iterative programming#callbacks
20 notes
·
View notes
Text
Prototyping and Prototyping
Daily Blogs 323 - Sep 23rd, 12.024
Another day prototyping the next project, it is being an interesting experience to use JavaScript again and kinda don't care a lot about errors and making things pretty, just focusing on making shit done.
Hopefully the other projects can continue progressing while this prototype is being done. Thanks for the help @sophia--studies!
Today's artists & creative things Music: Shoegaze song - by EJECTDISK
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
3 notes
·
View notes
Text
December Check-In
I promise I didn't almost forget :P Even if I definitely forgot to do the weekly devlog last Sunday... To be fair, it had been a week...
Recap of last month’s progress
IF Events in the Next Month
Plan for the next month
Still long post ahead. If you want a mini version, head over to itch.io!
November Progress
Still play more IF and maybe review. ✅
Finish the edits of Harcourt Ch5 ✅❌
Fix one of the semi-completed games: ❌either the Egg parser or TRNT (and make it a proper parser)
Finish that darn SugarCube Guide: ❌there aren’t much left in the guide to cover, but there are a few things to fix.
Again, I knocked the first one out of the park. I reviewed all inkJam, EctoComp, and Bare-Bones Jam entries (which helped me get on the main page of the IFDB). It was nice to play shorter games again - it makes reviewing pretty quick... Now that the IFComp is also over, I kind of want to go back and check out the entries I didn't manage to play.
As for the rest... It's been a bit of a hell of a month, and it's not looking like it's ending any time soon. Still, when I had some free time I managed to:
Finish my portion of the edits of Harcourt (and MelS was almost done with it... before he ran into computer problems - dw the file is safe!)
Assess the damage with The Roads Not Taken and come up with a plan to fix all of it. I also started on this one, but there is truly a lot of damage.
Make a bite game in binksi, Tower of Sleep, for the Two-Button Jam
Make a One-Button prototype, Don't press the Button, to test some JavaScript/jQuery (half-failure)
Make a zine for the first time: An Ode to Pissaladière
Make a new code template: the Character Creator
Submitted a bunch of seeds to the SeedComp!
Does it look like I got distracted by a shiny new thing instead of finishing my projects? Yes. Do I care? Nope. It brought me some joy and amusement in some weird months... Banging your head against the desk because code is not working is... not, obviously.
What’s happening in December?
A bunch of jams are happening on itch, because end of year means maybe some free time, and also, you might as well do something for the sake of saying you've made something.
The ShuffleComp (@neointeractives) has started, though the entries won't be available before January. You can listen to the kickass full playlist in the meantime!
The Sprouting Round of the SeedComp! (@seedcomp-if) has just started. There are 99 new seeds available for use to make a game! Deadline is March 1st.
The Deck-Month has just started, to make a game with Decker.
The PunyJam #4 ends in about 2 weeks (if you have the time to learn Inform w/ the Puny extension...)
and of course: la Partim 500 numéro 8, for those who want to do the Neo Twiny again... but French!
I'm probably gonna pop-off a Partim. I did it last year and it was fun :P
The PLANtm for December
December is a busy month for me, which includes a lot of time offline, full days travelling, and lots of planning. So I will take any free time I have and do fun stuff if I can!
But if I have space for IF, I'd like to:
Play more games! Well... I already am, just not really IF. My Steam Library is crying for attention. I would like to knock down maybe a dozen more IFComp entries if I can. There were a lot of good games, a lot of loooong games.
Code Ch5 of Harcourt. That will be MelS dependent - well, MelS's computer dependent...
Finish fixing The Roads Not Taken. I have a plan, I have the notes... I just need to sit down and re-code (and re-test).
Finish the Guide for real! I know SugarCube 2.37 is coming soon, which will affect the state of some pages (and maybe require more pages). BUT I've been working on fixing old pages (typos - re-explanation - clearer examples). So, this is likely to be done sooner rather than later...
~
Taking the list of TO-DO from August…
To-Do not require much of new stuff:
translate Escape Goncharov! into French. ✅
fix the bugs in EDOC + overall the French version to match
fix the bugs of TRNT + find a way to add the missing pieces (ongoing - translation unlikely)
fix the formatting of DOL-OS + translate into English ✅
update LPM with the missing content + translate into English ✅
No change this month :/
The rest of the To-Do pile was:
Finish The Rye in the Dark City (and maybe translate?)
Finish P-Rix - Space Trucker (and try to translate)
Finish Exquisite Cadaver (translation unlikely, current gameplay too complex to port for French)
Add a chapter to CRWL + fix/reopen the blog
Re-working TTTT to its originally planned state (lol, not likety)
Re-working SPS Iron Hammer (samesies)
Coding TTATEH (MelS dependent - shooting for end of year)
Emptying my inboxes (they are not all answered tho)
Honestly, this pile probably won’t get done this year…. Maybe TTATEH has a shot...
#dev log#monthly check-in#manonamora#interactive fiction#nothing very substantial...#except the template!#the past few months have been good and terrible and very weird...#also dealing with the Shuffle and the Seed comps behind the scene...#loads of little thing piling up
8 notes
·
View notes