lainchan / λ

general what are you working on thread

藤原純一 · 2021-01-25 09:48
found two language-specific threads asking this question but not a general one so, what are you working on?
John Rain · 2021-01-25 12:04
A server in ocaml
comfort · 2021-01-25 19:47
>>24106 currently beside trying to learn web development to be more employable i am working on my first real project: a personal startpage to have a log of what i have to do. I passed the last days making a locally stored array in javascript og object that contained a link and a line so to make an anchor element. Now i have my personal list of useful link at hand and is locally stored in the browser - still a lot of things that i want to do and improve but just doing that i would consider the project at the beta
Drano · 2021-01-26 05:06
A whole buttload of things, I'm probably started on too many projects at once, but they do all bleed into each other a little bit. I started fooling around with Guile Scheme and ended up falling in love with mcron. So I've started to automate a whole bunch of things and move my old cron jobs into mcron. I've been learning (slowly) how to do more web stuff, but it's been hard to motivate myself without something to put online. So: I've also been building little toy webscrapers with Guile and scheduling them with mcron. Nothing too fancy, mostly I'm fetching static pages or resources and cludging the data into a form I want to eventually display in a selfhosted webapp. Oh, and I'm trying to pick up PyTorch. I understand the theory behind machine learning already but I've never done anything concrete with it before. I'm probably going to either burn out, or make superficial progress on everything and end up doing nothing substantial by the time I get bored of each project in turn. If that doesn't happen though I'm really excited to be learning the things I am.
Technician · 2021-01-26 05:56
SICP
HELIOS · 2021-01-26 12:17
Energy equation for deep neural networks
nibble · 2021-01-26 18:52
>>24125 I have two questions for you. First, since you seem to have gotten the hang of mcron, can you think of a nice way to run a command every nth week? Being a Scheme fan myself, I considered switching to mcron a while ago and figured this task (which I have a real-world need for) would make for a good test. However, browsing the docs I couldn't find a way to do it that was intuitive and readable (and therefore maintainable), and so I put off the switch. Second, does your web scraping include parsing HTML, and if so which library or technique do you use? I also considered Scheme for my web scraping needs once, and tried Guile's SXML. The idea's quite straightforward (the document becomes a tree of S-expressions), but in practice I found the task of recursively walking the tree with foldts while bringing my accumulator along to be too confusing, and hit a dead end (using pattern-matching on document structure was a blast, though). Any tips?
Milner · 2021-01-27 05:28
>>24139 For your first question, I slapped this together to give you the gist. We're given the current time in seconds, we just need to normalize that time and add n weeks worth of seconds to return. This implementation misses the first appointment and is dependent entirely on when you run mcron. A better implementation would fix both of those problems by normalizing based on some fixed point in time rather than start-of-day. (define (start-of-day t) (let ((offset (modulo t (* 24 60 60)))) (- t offset))) (define (weeks-from n t) (+ t (* n 7 24 60 60))) (job (lambda(ct) (let ((t (start-of-day ct))) (weeks-from 2 t))) "notify-send \"This should happen every 2 weeks\"") I haven't done anything with HTML proper yet, but both my csv and json parsers emit SXML. Is your trouble with parsing the html in the first place with SSAX or traversal after that's done? If the former, when I do start on HTML parsing I'm probably going to use someone else's parser to begin with. Initial research has found 2 options, but both will require some editing to make them work in Guile. If the latter (sxml transform)'s pre-post-order seems to be the accepted solution for most sxml tree walking needs. I've been using it to do an initial pass through a tree to either eliminate fields I'm not interested in or sort csv records into different categories and make sure certain sections get (quote)'d and then just run eval on the result. I'm sure that method will break down at some point as the trees I'm walking get more complex. When that happens I have it on good authority that Andy Wingo's paper is the thing to read and (sxml fold)'s fold-layout is the more powerful version of pre-post-order. Scheme html->sxml parser implementations: http://planet.racket-lang.org/package-source/neil/html-parsing.plt/3/0/html-parsing.rkt https://github.com/spurious/sagittarius-scheme-mirror/blob/53f104188934109227c01b1e9a9af5312f9ce997/sitelib/text/sxml/html-parser.scm
Netrunner · 2021-01-27 06:02
A shmup in Godot. But I can't do much in terms of code until I finish designing the thing, so I'm just doing the basic framework for enemies/bullets/etc to get that out of the way. It'll also be serving as a testbed for a (piss-poor) Lisp interpreter I'm making for the engine, which I plan to use in an RPG later on for dialogue and scripting cutscenes and such. For this game, though, it'll just be used to specify where and when each enemy will spawn in.
McCarthy · 2021-01-27 12:39
>>24139 >>24156 Here, I made that better version I was talking about and stuck it in a little module because I too will find it very useful. It also wasn't tough at all, don't know why I didn't just do it from the start. 3 lines of proper code and 15-ish lines of support functions. Alright easy exercise if you wanted to tackle it yourself but if you wanted to "cheat" it's attached. Should be pretty self explanatory, even so I've left a couple of notes for myself. It should make stepping in any increment from any base time dead easy.
Void · 2021-01-27 19:28
>>24156 I think you just talked me into giving mcron its chance after all. Thinking back, I believe the reason I gave up on it was that my task includes another layer of complexity (involving timezone juggling), and I hoped to solve the whole thing in mcron - but, in the worst case, even if I can't find a way to solve the timezone bit, I'm still better off switching to mcron, as currently I have to use a separate script just to detect the nth week and conditionally run. >Is your trouble with parsing the html in the first place with SSAX or traversal after that's done? The latter, for parsing I simply used html->sxml from module htmlprag. My problems weren't specific to scraping, but simply related to tree traversal, which I couldn't wrap my head around - when trying to carry my accumulator around and add the important bits to it, I often had type errors because I consed or cdred the wrong number of times and therefore had atoms where I expected lists, or the other way around. Simply put, I could't put together in my head an accurate model of how traversal works, and while upgrading my brain would help with that, I was wondering if a higher-level solution might not be available. You've given me some good food for thought and motivation, so thanks.
Unidentified · 2021-02-03 12:10
>>24106 I'm trying to learn OpenGL.
The Phantom Phreak · 2021-02-04 15:46
>>24106 I'm writing a programming language with a buddy of mine. Right now I'm building a prototype stdlib so we can start building non-trivial software with the language to really put it through its paces.
Ishikura "Tatsu" Tatsuhiko · 2021-02-04 21:02
>>24308 Is this the one I think it is? Tagged unions all the things? If so it's good stuff, thanks for doing it.
Dr. X · 2021-02-07 02:05
https://github.com/RW21/assembly-lgc-visualizer A lgc random number generator visualiser in assembly
J.C. Denton · 2021-02-07 14:05
A window manager with flashy effects, hoping to draw normal people in like the good ol' KDE cube
Junichi Fujiwara · 2021-02-10 11:43
I've been working on a small project of mine, I use cmus as a music player and it always bothered me that there was no nice and convenient way to display cover art and track information that I could hang up within my window manager somewhere and let it do it's thing. There was also the urge to just do some programming again and I chose SDL2 (essentially a simple rendering library that, above all, supports the GPU) simply because it would provide a good exercise. I initially abandoned it after a (not really functional demo), but recently I got back into it and got it into a workable state. It's fully written in C. While SDL2 is effectively cross-plattform, cmus-rg like isn't, but nobody runs cmus on non linux operating systems. Almost the biggest part of the effort was extracting the cover art of the current playing song, which I not at all expected to be as difficult. To give you an idea, every music format encodes their headers slightly differently, with mp3 encoding the bytes in either a ID3v1 or ID3v2 (which of course are seemingly entirely different). flac can have an ID3v1 or ID3v2 header, but also it's very own header format. ogg (vorbis or opus family) has it's own header too, but encodes the image in base64. m4a (apple standards) can have ID3v2 I think, but also it's own format. There is no nice and convenient to use library to tame them all, especially in C, where only limited C bindings from their C++ library exist. So I chose to make a separate rudimentary C++ project that uses taglib to extract them, but as of now it only supports ID3v2 mp3 files (which my entire library is encoded in). I plan to add other formats in the future for the sake of completeness. I don't know if other lains find this useful or not, but I would be much obliged for others to look over it and maybe tell me if it even works for them. Currently it's made to only support cmus, but theoretically with some work it should be extendable to other music player backends, like mpd. You can find the project at https://notabug.org/strlst/cmus-rg (and the separate image extraction tool at https://notabug.org/strlst/id3-extract-cover).
car · 2021-02-10 13:20
I'm making an Emacs-mode for browsing Lainchan (it would probably work for most vichan imageboards, too).
Zhora · 2021-02-11 16:17
>>24413 That's a cool project, I've always wanted a good terminal way to browse the site but this is a good solution too.
Cat Mother · 2021-03-23 05:21
I'm working on a crypto trading bot using python. I have no issues with the language except for speed, but I don't think there are any good alternatives that have simple package installation and are easy to use. Would go be a good choice? I have experience with Java, C and Python.
Ishikura "Tatsu" Tatsuhiko · 2021-03-23 09:16
Now that my archiving scripts are mostly finished, I'm thinking of writing a web app to manage and tag everything, as it would be a nice addition to my CV on top of being useful day to day. Being stuck to the backend blocks me from many jobs. >>24157 Hey I'm doing the same. How many bullets can you manage before the fps starts dropping? I can get to about ~1000 bullets on the screen, which seems a fairly low limit compared to Touhou.
Undisclosed · 2021-03-23 12:32
What language does he program in?
Eldon Tyrell · 2021-03-23 12:47
Assorted tiresome videogame crap mostly currently. Feels like getting hammered with a pile of hot dragon dildos.
nibble · 2021-03-24 02:07
>>25042 C++ without a doubt, big fat smug fuarrrking C++ vibes
Kay · 2021-03-24 04:56
>>25042 Hoon for sure, look at this soykaf ++ peer-clicktile |= pax=path [[ost.bol %diff %json *json]~ this] ++ send-tile-diff |= jon=json ^- (list effect) %+ turn (prey:pubsub:userlib /clicktile bol) |= [=bone ^] [bone %diff %json jon] ++ poke-json |= jon=json ^- (quip effect _+>.$) ~& (weld "Click recieved from Landscape! ~ Total Clicks: " (scow %ud cis)) :_ +>.$(cis +(cis)) %+ turn (prey:pubsub:userlib /clicktile bol) |= [=bone ^] [bone %diff %json jon]
Pris · 2021-03-25 08:57
Gamedev, I've made a lot of progress on my game and it has been fun learning all the soykaf necessary to make it.
Milner · 2021-03-26 11:46
I found this proposed C++23 std::meta some days ago. I have been wondering if it would be worth it to refactor my imageboard implementation to use code injection for the filters (verify users aren't derezzed on the board where they are trying to post, etc). the static reflection and code generation would also significantly reduce the amount of code I use for config files de-serialization.
Von Neumann · 2021-03-26 16:07
>>24106 Implementing the HTTP protocol in Rust using nothing but the standard library. I have already implemented HTTP/1.0 and I am now working on HTTP/1.1, specifically implementing Keep Alive
Fred Nurk · 2021-03-26 21:48
I got two uni projects running, both either started as hobby projects or were planned hobby projects. Making a serial terminal and a speech recognition AI. Grad school is a trip man its pretty great
Moore · 2021-03-27 09:39
>>25082 neat, just 4 fun?
XERXES · 2021-03-27 21:37
>>25094 mostly, I always liked programming this type of stuff. sockets are fun to work with
Unsigned · 2021-03-29 05:17
>>25080 Mind sharing some details on this? I'm only tangentally aware of metaprogramming features, but this sounds like something fuarrrking awesome.
stack · 2021-04-03 15:35
>>24107 you still working on this, lainon? what does it serve?
Ender · 2021-04-07 20:29
>>25128 there are two types of reflection: as types (reflection-TS), and as constexpr values (the paper I posted). both of them give you a "meta info" of the object, which contains information (name, methods, members, etc) similar to what you would find traversing the AST at compile-time. it also adds a code injection statement that you use in consteval functions to programmatically insert code at compile time. c++ consteval void insert_code () { -> __fragment { //injection statement /*code you want to insert*/ } } consteval { insert_code() }; https://www.youtube.com/watch?v=8c6BAQcYF_E is afaik the best summary of the main features, and one of the few actually useful cppcon talks from last year.
word · 2021-04-09 00:41
I started the development of my first game, the story is about a girl that died with the desire of eating chocolate, when she became a ghost she decided to raid a chocolate factory and get all the chocolate she want. I'm using love2d engine for this, although I'm a very inexperienced programmer I chose love2d for a few reasons: I was already interested in learning Lua, love2d is lightweight(I have only a low-spec laptop), it's easy to port for Linux, Windows and Mac, because of being more raw I can learn more about game theory. https://www.youtube.com/watch?v=VIHKbZIS7xs
Nobody special · 2021-04-09 17:43
>>25320 Heads-up: the term 'game theory' exists and it refers to something else. It's a fascinating field that can be applied to anything from sociology to programming, but it has nothing to do with how to write computer games. Keep it up.
Arisu Mizuki · 2021-04-10 11:15
Working on an open source presidential sim. Wanted to work on it last year but was not able to get to it.
Netrunner · 2021-04-11 06:00
I am currently working on a web frontend in angular. Normally I code stuff with Python about Machine Learning but this is useless if you can not present data or make it available for real usage.
Zhora · 2021-08-15 18:29
How do you find time and will for personal projects? I have a lot of stuff I want to try or develop but after work - the last thing I want to do is to sit in front of a monitor.
Pris · 2021-08-15 21:28
I have an idea about some real mode assembly thing (just for fun), but I need to find the time, I am pretty busy right now.
Otto Normalverbraucher · 2021-08-16 02:00
>>25339 Don't forget to ad ability for throwing foreign coups, and making laws to imprison specific ethnic groups because their opposing political tendencies and stuff like that.
Anonymous · 2021-09-04 19:41
where to start i really enjoy the three-pane-layout thing going on in modern UX/UI. it's one of the rare things that modern tech does get right gnome with its problems - which i am yet to even discover - also brings an enjoyable experience in programs that are built around the three pane layout one such program is their email client geary geary i used a couple years ago, in a time when i used email a lot geary was a godsend nowadays again i use email a lot and no other client comes close to geary it just werks and it isn't an eyesore either. it does have a problem though - its three pane layout is 'fixed'. you can resize the window, but once you make it "vertical-like", in a tiling wm, it gets squished but it still shows everything newsflash (rss reader), on the other hand, works almost exactly the same except it can be 'vertical-ized' and it knows to show all three panes when horizontal-ized but only list or focus pane when vertical-ized. pic related so now i am looking at changing this for geary (if it wasn't done already), so first i have to dig through geary's code to figure out where the panes are built and drawn from what i see right now it's a vala program that heavily relies on gtk, but past Gtk.Application::run i am yet to discover how gtk lifecycle works, it makes sense that geary code predefines some GUI parameters which gtk then uses to build a window
Crazy Jake · 2021-09-06 08:38
>>27403 examples of panels please
John Titor · 2021-09-07 16:21
>>27129 Try being a hikikomori, you'll have lots of time to do literally whatever.
deathslittlegirl · 2021-09-12 06:53
i am working on a drug search engine that will return great deals of information offline and fast. https://github.com/deathslittlegirl/ravecandy it is called ravecandy and is named after a crush of mine. i do it out of love and could use contributors.
The Plague · 2021-09-26 10:57
>>24165 >I often had type errors because I consed or cdred the wrong number of times and therefore had atoms where I expected lists, or the other way around. Re-reading this after some time and this is definitely a problem I was still having at the time too. My solution was simple, cheat. I didn't bother with the "bottom" of traversal only the larger tags. So if there were some <data> tag in my XML containing the object I was working with I would write conversions for each field using (pre-post-order) directives and handle the object by writing a (define-syntax data ) block. Very brittle, but it worked and I didn't have to worry too much about cdr-ing an atom. Now I've gotten a lot more comfortable with fold in general and the "proper" solution seems so much clearer to me. Now I'm working with these things: https://youtu.be/1ZHW977t070 Matrix Profiles are very cool and I want to roll my own in Scheme, because I'm still all aboard on Scheme.
progn · 2021-09-26 23:05
>>27481 that sounded interesting but it 404ed :( any update? did you take it down yourself? or was it github's fault?
Boole · 2021-09-27 04:50
>>27686 looks like it moved to https://github.com/deathslittlegirl/grungegirl
Sabo Engle · 2021-09-27 06:49
trying to understand characteristic classes and their relationship to curvature.
Cowboy · 2021-09-27 08:00
>>24106 I am about to start implementing a trading card game system in javascript so it can be played on a website against other people. Wish me luck frens.
Neo · 2021-09-30 00:43
Writing a podcast client since everything from apple podcasts to gpodder is retarded. Its gonna have a CLI for SSH usage and a GUI in winui3 for win11, loving C# so far.
Jet Black · 2021-09-30 00:43
Learning PHP, starting with Pomf/Uguu clone but using PGP to encrypt files and pastes. I was pretty motivated but now I'm bored with it lol. Adding PGP to account dark market style was pretty fun. Now I need to find another project to start for when I'm bored of this one.
Cutter · 2021-10-12 05:57
>>24106 Learning CSS in school otherwise I have been being lazy like a retard.
Nobody important · 2021-10-13 01:59
I'm implementing a state-of-the-art niche genetic algorithm in Python for an undergrad research. I thought it would be simple, but even though all the data says it's doing what it's supposed to, it converges very quickly. I don't know what to do.
aliased · 2021-10-13 02:38
>>27940 Apply it to a real problem, if it actually runs fast then congratulation, you've improved on the start-of-the-art.
typedef · 2021-10-13 03:49
>>27942 We're using toy problems on a tool developed by a researcher involved in the project. This algorithm has been implemented before on another tool made by the same guy. So the algorithm does work, which means I'm doing something wrong. It looks exactly like it should, it behaves like it should in the data, but it simply converges to a low fitness value very, very fast. I have no idea what the cause is, I have fixed (several) issues in the code with some data analysis, and while it helped a bit the main problem hasn't been fixed. It doesn't help that I'm the only person working on this implementation, every other person in the team is in a duo but my partner quit on the first week. Also I'm not really that experienced, I think I'm awful at this in fact, but I already learned quite a lot trying to implement the algorithm. I think I can do this alone but this situation is frustrating and I had to let it out somewhere.
Turner · 2021-10-13 19:12
>>27944 Usually genetic algorithms have a "mutation" part that's supposed to help with avoiding local minima. Does your algorithm have something like that? If yes, you can just bump the probability up, or try to figure out why it's not being effective.
Demeere · 2021-10-13 19:47
Dumping the ROM files from my TI-83 for fun. Might try making my own OS for that thing someday.
Case · 2021-10-13 20:27
Working on https://boards.4channel.org/g/thread/83814563#p83814563
Marly Krushkhova · 2021-10-13 21:35
>>27963 For people who don't like cloudflare: >4u, a terminal 4chan viewer >paste.ee/p/NsfMU#R1Ss4VLCkJFhcwR9HO0ZI5x79IZIZ K4V You're welcome, Mr. Thoughtless.
Meddler · 2021-10-22 05:11
>>27940 Status update. It actually was really simple. I rewrote the code from scratch with some new insights from my advisor and it worked. I was almost giving up. 2 months stuck on this. The advisor doesn't really seem worried that it took this long, though, so I guess I shouldn't be worried too.
Unspecified · 2021-10-26 21:00
Working on an ecommerce shop and working on buying a house ( unrelated but taking my attention away from code), getting css foo better from college, learning how to make a blockchain, and hopefully will be able to get back to my other soykafty little projects.
DEBUG-CONTENTS · 2021-10-26 23:48
implementing a cartesian plane in python. (instead of actually studying geometry.) probably useless compared to geogebra, but it is being fun. i plan on doing something like that: #defines an equilateral triangle of side two. A=Point(0,sqrt(3)) B=Point(-1,0) C=Point(1,0) O=Point(0,0) AB=Segment(A,B) print(AB.l) #2 BC=Segment(B,C) print(O in BC) #True CA=Segment(C,A) T_ABC=Polygon(AB,BC,CA) print(T_ABC.P) #6. perimeter. #this part is still not possible print(T_ABC.area) #sqrt(3) print(similar(T_ABC,T_ADE)) angle(A,ref=B) #60 angle(A) #90. if unespecified, ref=O. thoughts?
Wirth · 2022-02-18 22:22
>>24106 I'm working with a team to redesign the authorization & authentication system of something that will process a ridiculous throughput.. 5 9s of availability (the trick to get 5 9s is to process throughput in the order of >10k qps ;] ) What we're modeling has some pretty large implications of how other engineering teams will and customers will interact with our primitives. Our latency and availability requirements are tough, and it has to be a multi regional model with authorization control baked into the data layer as well as in the gateway.. Not only that, we're also modeling authorization for shared resources. I feel like what we're building is up to spec, but I can't quite put my finger on it. Something seems off.. it's like we're building something that can be generalized even more - we're basically just distilling a collection of pre-modeled information into a binary decision. I _feel_ like this has been a solved problem. I know that google's zanzibar does some interesting things. Very likely we'll just denormalize the whole authorization decision.
Stallman · 2022-03-03 15:31
A forum software whose API comes first, frontend stuff second. I'm quite proud of it.
Joe Bloggs · 2022-03-11 12:26
Found a COBOL programming course with a job at the end, worst mistake of my life since I only knew C++, after that I'm learning markup languages like markdown and latex and using it all to create a second mind repository, and learning a bit of godot to do a game with a fren Also want to learn lua uwuwuwu any tips? Also how does this post look automatic?
Bob Arctor · 2022-03-11 14:14
>>30380 >Also want to learn lua Here, read this https://www.lua.org/pil/contents.html
Yuki Nagato · 2022-03-28 07:54
Working on a discord bot to help moderate people. Any insult and the post is deleted and sent back to the user in DM It works pretty well and I'm now adding a few more features to make translations easier, add or remove roles permitted to manage the bot without having to go through the code...
Torvalds · 2022-05-02 16:14
>>24106 I'm working on a bunch of random soykaf in lua, mostly experimenting with interpreters. I've made a small sys info tool. It's basic as fuarrrk but tells me just what I need to know, picrel.
nibble · 2022-05-02 17:46
>>24106 im working on entering college but realistically sppeaking i may not make it the i will work on something else
Ender · 2022-05-04 14:55
>>25058 >hoon >>27965 What does it have over Links2? >>31024 Did you build the sysinfo tool in Lua? Wasn't event aware lua had OS hooks. I've primarily used it in Pico-8.
cdr · 2022-05-05 03:13
I'm a beginner in C, so I'm trying to remake some simple UNIX commands like ls, cat, etc.
Leto Atreides I · 2022-05-05 17:47
>>28251 This book has a good section on geometry, you should try to implement mappings in your program, maybe automate a way to transform each point, etc.
frammie · 2022-05-16 08:51
>>27481 Hey I'm not sure if you're still following this thread, but it seems like a real cool project. How did you manage to aggregate the data from, did you use scripting? Looking at the code, I think storing the data in an intermediate format (such as JSON, XML) might help with future operations (filtering/searching.) Hope you can build it into something great.
Ender · 2022-05-16 10:12
>>31177 I agree. >>27481 The repo is deleted and the other one (https://github.com/deathslittlegirl/grungegirl) seems like a mix of a few different projects. There are a lot of os.system calls which can be refactored. The search process can be improved too. I don't know much about drugs but the project seems interesting and I would like to contribute.
Roy Batty · 2022-05-16 10:15
>>31179 Forgot to add to this. How can I get the same effect as that can be seen in the image of >>27481 post? I am talking about programmatically generating that image out of text input.
Tequila · 2022-05-20 15:25
>>31180 Write the letter and randomly replace some of the pixels with white or add some noise for dithering.
Unnamed · 2022-05-21 15:51
>>24106 Programming a game in C++ and OpenGL. Using GLFW with glm and glu. First time working with OpenGL on an actual project. Would recommend is really satisfying.
Donna Hawthorne · 2022-05-28 20:43
I made an "UsefulCharts-style" family tree generator: Apparently it is too long to post the code in here directly, so here are two links: https://rentry.co/dmxbp https://privatebin.net/?c3830bd42831c893#87WchA3PAxqJ7b55eksgkZGFZeXorund6SgYGcKEdoYq
byte · 2022-05-28 21:03
>>31332 I forgot the preview pic...
Leto Atreides I · 2022-07-15 13:00
Working on porting a 'binary <=> ASCII transcoder' to a web interface -- a JS port of a C command line program. I wanted a text format to transport some binary data in my new self contained programming environment, so I built the best text encoding I could imagine (rather than just using Base64, I 'unnecessarily' reinvent every wheel I can). The soykafe state of browsers means I have to jump through hoops just to let a user U/L or D/L a file from the page itself: Create a data URL and base64 encode the byte stream then generate an anchor tag with the data url text... it's whack, but it kind of works, so fuarrrk it (I think that's the design methodology of 'The Web'). Since the encoder produces ASCII text (2nd pic related) and it is displayed in a text-area box if < 1MiB chars long, I will also attempt to display the decoded data in a textarea if it looks like UTF-8 bytes and is < 1MiB when decoded. Otherwise, a message appears stating that the output is too large, and the download button should be used instead of copy/paste from the text box. The new-ish "TextEncoder" object can do UTF-8 transform (by default), but isn't always available in browser, and neither is String.fromCodepoint() [mobile OSs I've tested don't support the function, even if it exists there, for some reason it's not implemented]. So, I'm once again creating code to do manual UTF-8 decoding (1st pic related). I keep tracking down and copy/pasting this comment on UTF-8 format into my code whenever working with UTF-8 encoding, so here's a colorized version. All the encoding/decoding happens in JavaScript. The trip through a text field and back will not usually result in proper binary due to bytes > 0x7f being interpreted as codepoints... TL;DR: Fighting a web browser with JavaScript while trying to detect UTF-8 bytestream in an ArrayBuffer, hopefully users will be able to D/L the bytes afterwards. >>31180 > How can I get the same effect as that can be seen in the image of >>27481 post? Render the text to a texture. Then apply the texture to a tessellated quad so you can "bend" & morph the overall output into the CRT shape. A bloom filter is what typically generates glow like that - Easy / inefficient method: Downscale the output texture, then upscale it to blur the image some. Now render this image over the existing image frame using an additive blending mode and reduced alpha (mostly transparent), re-render this additive-blend blur image over the output many times with minimal alpha and slight variations in X/Y offset to expand the blur. Alternatively, a high pass filter and blur kernel is used on the input to create a transparent "bloom" overlay... It appears there is a pixel shader that is applying chromatic aberration (to emulate sub-pixel RGB regions?) The shader is also causing horizontal wobbling of the image and a snow effect. The exact effect can be studied in the open source project: https://github.com/Swordfish90/cool-retro-term Because hardware acceleration and pixel shaders are used, to emulate the effect precisely one either needs to build a software fragment shader or use a graphics language like OpenGL. See also Mesa display server, which you can use to do headless rendering with.
Morpheus · 2022-07-16 04:23
>>24106 >>24113 I too am trying to teach myself web programming, so I started developing this simple app using nodejs as backend. The project basically allows you to filter an image by drawing on it's Fourier Transform's magnitude spectrum. The way in which the image processing is performed is by Image magick.
chadols · 2022-07-16 14:27
>>24106 I'm planning on making some minigames for Terraria using TShock.
Wirth · 2022-07-16 14:31
>>24106 Bijective code translator, so I can stop writing some stupid things before I get around to actual compdev. And to spare myself the eyesore.
SHODAN · 2022-07-29 11:19
Wrote a tool in bash for compressing disk images. Please r8/h8. https://git.lain.church/idiotarchivist/dehydrate-fs
Joe Bloggs · 2022-07-29 11:42
neural network to break a specific old version of captcha coming closer and closer to having some usable network tho
Backus · 2022-07-29 13:43
>>32090 I don't know why, but your website lacks syntax highlighting.
Splicer · 2022-08-19 21:29
I'll soon and finally be entering some Latin information into my machine for an upcoming Latin language program demo.
McCarthy · 2022-08-26 22:44
W-OTS+ signatures in rust. https://0x0.st/o9R8.0.zip Got the basic primitive down, now I just need to adapt it to the RFC version so people can use it in XMSS implementations. I wrote this library because I decided I wanted to use W-OTS+ signatures for another project (yet another encrypted chat protocol, which will probably never see the light of day) but there weren't any good rust implementations. The primitive itself is actually pretty easy to implement.
Joey · 2022-08-29 23:46
Jakt toolchain for TempleOS development
t · 2022-08-30 14:08
>>32573 weird choice of language but the results look really good, did you make the sprites?
setq · 2022-08-30 19:50
>>32577 >did you make the sprites? no, source is https://twitter.com/yyuta342/status/1150011650503667712/photo/1
Arisu Mizuki · 2022-09-12 21:18
>>32573 running JT's jaktnesmonster in TempleOS
Agent Jones · 2022-09-14 11:30
I'm making a scripting language: https://github.com/joveeater/odd I was going to write about it here but it keeps getting rejected with "nice try" whatever that's meant to mean so I'll just copy it to pastebin instead. https://pastebin.com/JPczyErh
Pris · 2022-09-14 13:39
>>32743 I didn't see a keyword in the text that would lead to it being flagged. Consider bringing this up to Appleman1234 in /q/. Regardless, it's allowed to upload files ending in "txt" directly if it becomes an issue again. Tell me how this Odd meaningfully differs from the SECD machine.
Rick Deckard · 2022-09-14 19:50
>32732 updated to latest branch
Spooky · 2022-09-14 21:20
>>32747 I think maybe it saw the code snippet as an inject. I'll refrain from more. As for SECD, it shares a lot in common and I imagine most code would translate directly, but there's a major difference in how it actually works. I'm not familiar with SECD specifically but quickly reading up it seems like a fairly typical postfix stack machine internally. The code is converted to RPN, there are separate code and data stacks, when a value is evaluated in code it's pushed onto the data stack etc. Odd is a true prefix machine, it's not like postfix machines. The first word in your program is the first word evaluated with the rest of your program on the same stack. This means that first word, in fact every word, is effectively a macro with the rest of your program as its argument. Functions are just normal words that happen to evaluate their arguments explicitly, though usually the standard library does all this. Rather than have operators use the top items of a separate stack, they use the items just below themselves on the same stack (after evaluation usually) and push their result to that same stack. The language that's most similar is probably http://www.om-language.org/ In terms of being a true prefix stack machine where everything is kinda a macro, om and odd are the same, but otherwise they're still quite different. Om is really good btw, it's purer than odd and odd's pretty pure and afaik it's the only other language like this. The big thing that's unique about odd is the idea of carrying. So we have normal execution being "If the top of the stack is a word, replace it with its definition, otherwise (i.e. any data like a number) halt," combined with an explicit "carry" operation of "pop the top element of the stack and save it, run the machine until it halts, then eval the saved element and start the machine again." (I think "halt" is a bad word for it, it's only a true halt if nothing is being carried, maybe break?) This difference in what happens when execution reaches data is what enables a prefix syntax. A postfix machine will push the data to a separate stack for a later operator to pick up. Here a previous operator should have already pushed what to do with the data to the separate stack. So while we do kinda have two stacks they are the execution and carry stack and they're not analogous to code and data stacks. Most of the time it's a lot simpler to not implement a carry stack and actually recursively run the machine until it breaks. I like carrying. When I first came up with it I wasn't sure, but it's turned out to be quite simple to use. The general rule is functions (as opposed to macros), even primitives, even the carry primitive, carry themselves over their arguments and through this evaluate them. So the carry primitive carries once to evaluate the argument it will pop and save, then again to give you the actual carry operation after which the saved value will be executed. At first it seems awkward to say carry a function over 3 arguments. You have to carry once and then get the value from the stack and save it somewhere etc, but actually it's just "carry push push ( code )". This comes from the fact that "carry" is equivalent to "eval push". The two arguments to push gives the same 2 carrys and while carry leaves the calculated value on the stack and eval push puts it at the end of a list that's about to be eval'd, that makes no difference. The stack will start with your carried code and then have each of the evaluated arguments. This is intensely annoying without using the standard library to find, name and remove the values for you. It's another reason I want to look at naming and scoping still. A lot of the power of this comes from not being all that meaningfully different from other stack machines. Under the hood it is, the carry and execution stack do not change in the same way code and data would and so a lot of the reasoning is different, but if you want to write a macro, there's a good chance the end result will be very similar. If you just want to write a function or most programs really, you should probably forget the underlying carrys and just treat it as a declarative prefix language based around lists as code. It's also very side effect free. The default repl will never do anything other than print stuff to the screen. The standard library not even. It's notoriously difficult to sandbox things correctly after the fact and it's meant as a scripting language. So I'll leave it to implementations to decide on their side effects with additional primitives. They can do this the simple way or they can require that the machine return (i.e. halt with no carry) an io data type constructed by their primitives to get pure io. I am keeping an eye towards making something that can be lowered into hardware but it's way too early yet, I'll see how it does for scripting first and there's a lot about the language I'm still not sure on. Especially the scoping but also good ways to handle errors and debugging, I mean suggestions on anything are welcome of course.
Eldon Tyrell · 2022-09-15 09:26
>>32759 Not to worry, I have corrected the issue.
Random · 2022-09-16 01:42
>>32759 I want to comment, since I also share my work here and am frustrated by the lack of comments on it, but I honestly have nothing meaningful to write about this. I'd need to see some example programs and how they compare to other stack machines before I could intelligently remark on whether using a single stack for all of this were wise or not.
Six · 2022-09-16 05:26
>>32782 Honestly there's not much to look at right now. I'm ecstatic I got any response at all. I guess everyone loves stack machines. As for example programs other than the little in the standard library there's not much to show. I've been dragging my feet over doing the awful bootstrapping work to get to lexical naming. I've been thinking maybe I'll implement it in the interpreter rather than the library but it's probably not worth the extra complexity there. I should just bite the bullet, do the bootstrapping work and then write a program that decomposes another program into equivalent primitives so I don't have to do it again whenever I make a change. I'll knock up a few example cases though but first some of the higher level differences. Obviously it's a loose concept but words don't have any "color". There's no immediate words or maybe it's better to say all words are immediate. I talked about functions and macros a little, those are maybe bad names because they're not quite how you might imagine, but they work close enough. There are also half-half words such as "function" and "macro" themselves that I don't have a name for. The only distinction between these classes of words is what they do with their arguments. Using "macro" or "function" to define something with no arguments makes no difference. Functions evaluate their arguments. Macros convert any word arguments into symbols, which I'll go into in a moment but you can build words that do whatever you like with their arguments and their arguments are effectively the rest of the stack. "function" and "macro" turn their first argument (the name) into a symbol, evaluate their second (the argument list) then map it to symbols, then evaluate their code and bind the result of that evaluation plus all the relevant boilerplate to the name symbol (or at least they will when they're implemented properly). I say bind to the symbol rather than the word but it's the same thing. Words are volatile. The way the machine typically returns data is to put it on the top of the stack and the machine will halt, but if you try that with a word it will be executed. As such, the primitive "$" macro is provided to convert words to symbols, which are just data words. There's also the "@" function which converts them back but they're volatile so it means execute them immediately. Alternatively list manipulation functions like "push@" will be provided when I actually write them. This shouldn't be used to treat code as data, lists are the unit of code as data, wrap your word in ( ) if you want that. It's used for names as data. So the "define" primitive function takes a symbol as its argument. Despite words being immediate, evaluation tends to be quite lazy because a lot of things are wrapped in ( ). The "(" list constructor macro doesn't evaluate its arguments including any sublists, it just includes them as is. So typically when you define a function and wrap the code in ( ) the functions code goes into the dictionary as a flat list. The exception to this is the "`" word, which means if this is the outermost list, skip this and evaluate the next item now. Anyway enough prattling on, a simple example. Let's say we want a list constructor macro that does evaluate sublists, say using "[". half-half [-internal ( @ val $ arg ) ( /* not sure I like this syntax but here the @ and $ are being interpreted by half-half to mean evaluate the first argument like a function, convert the second to a symbol like a macro. */ if = arg $ ] ( val ) /* we're done, return the list */ ( if = arg $ [ ( [-internal push val @ arg ) /* found a nested list, evaluate it before recurring */ ( [-internal push@ val arg ) ) /* normal item, just add it to the list and recur */ ) macro [ ( ) ( /* just set up the empty list for [-internal, because this run and each recursive run are missing an argument each run will use the next element on the stack. */ [-internal ( ) ) /* also a few examples of things from the standard library, just to give an idea: */ function while ( cond body ) ( if eval cond ( eval body while cond body ) ( ) ) function map ( body args ) ( /* bit ugly but you know */ if = 0 length args ( ( ) ) ( unshift map body rest args eval body first args ) )
Incognito · 2022-09-16 06:44
Just got a job as junior web dev. PHP, JS, CSS and HTML. Not much work/exp as I imagined. Might look for another place on october.
XERXES · 2022-09-20 13:43
Slapped together a search engine for naver webtoons since the official one is soykaf. https://comicsearch.surge.sh . The database is still being scraped and the code needs to be tidied up for publishing, but it's good enough I can wage slave it here and pat myself on the back. Suggestions very welcome.
Drano · 2022-09-20 14:22
>>32823 Looks pretty good! Well presented. One thing I would heavily suggest is a page system. Searching for titles and specific words was manageable, but searching for just "t" resulted in like 15k results! Getting all that info at once was slowing down my browser to a halt almost :P
Bob Arctor · 2022-09-20 17:42
>>32824 The entire thing runs on the client side so there's a limit to what can be achieved by pagination. That said, implementing infinite scroll was easier than I thought and works well enough. Is it ok? I didn't like how using proper pagination would ruin the simplicity of the design, but I know a lot of people get annoyed by it. I'll see about persisting cursor information later so flipping through history doesn't erase page position. Range queries are also a planned feature.
Miho Iwakura · 2022-09-20 20:24
>>32825 >That said, implementing infinite scroll was easier than I thought and works well enough. Is it ok? Ay, that seem to have done it! At least my browser is not exploding so far. And it's good to hear you're looking for things like persisting cursors. it's the lil things that make the experience enjoyable
Drifter · 2022-09-21 12:07
>>32823 I'm proud to announce that the database is now complete for webtoons, and that a loading bar has been added since the index weighs a hefty 29MB gzipped. Please enjoy.
Otto Normalverbraucher · 2022-09-23 15:29
>weebdex.neocities.org it's a manga reader using webtorrent. i'm not 'working on' anymore because i don't know what to do from here, i don't even know how to code, it's just a stackoverflow frankenstein.
Armitage · 2022-10-22 23:25
Hello folks, Working on an alternative tab manager for firefox (addon) I've removed the tab bar and rely entirely on it So far it works nicely You can find it as "Grasshopper"
stack · 2022-10-23 14:47
I'm working on a host site manager lib. I don't think anyone but me will want to use that soykaf, but I'll publish it anyways. I'm reading this classical book. It's pretty comfy. I had some sort of burnout and couldn't touch programming for like 1 year or 2. Now I'm trying to get back slowly, doing stuff I like.
JARGON · 2022-10-23 14:47
A manager to record my kratom use.
Motoko Kusanagi · 2022-10-23 16:52
my own imageboard engine. will post progress later
Wirth · 2023-02-23 03:27
There was another thread with personal projects where someone said he's working on making changes to some rss reader. There was a screenshot showing some feeds, one of which called 'a plan for this world', or similar to that. If you read this, do you care telling me what it is, maybe it is useful. Thanks in advance
Cringe · 2023-02-26 17:52
>>24106 am I a real programmer?
Chan Siu Ming · 2023-02-26 18:01
>>33118 Look at Gesturfy and - more specifically - the mouse wheel gesture for `[Popup] All Tabs`. It is the single best way to switch between tabs - although the dev's UX of having to click a selection is pants-on-head retarded. Have wheel+up open your menu to search/sort/clean tabs and have wheel+down switch between tabs and you'll have an 11/10 tab management plugin.
queue · 2023-02-26 18:58
>>34497 What is that? looks interesting. By your question I infer it's some sort of visual programming. It really doesn't atter if it isn't text-based and C++, if it's programming it's programming. Some may say that if you use python it's not really programming but just legoblocking with libraries, other may even require you to have some λ-calculus theory somewhere implicit. By my definition, you instruct a machine to perform actions based on input. So, yeah.
Zuse · 2023-03-10 08:52
Due to sheer boredom at work I'm making the most advanced image board extension
Hououin Kyouma · 2023-03-10 17:14
>>34497 Real programmer, Fake programmer... It's just a selfish perception of people. You're doing good, lad. I should look into blueprints alot more next time i try my hands on game dev. :)
Chani · 2023-03-10 21:26
>>34669 what will it do? Most advanced?
Mario Rossi · 2023-03-12 09:19
>>34675 All the features you'd expect from 4chan X or Dollchan plus more.