Pinellas County - 90â (part I): 4.53 miles, 00:08:41 average pace, 00:39:21 duration
whoa this run felt great. seemed very fun effort while the heart rate was relatively low with a nice pace. it was very cold out, 42F with a wind chill of 38F, but it didnât matter once the engine was going. unfortunately, halfway through the run code brown sirens were blaring and had to cut it short.
#running
Pinellas County - 10 x 1km [30â]: 8.22 miles, 00:08:42 average pace, 01:11:36 duration
good session besides warning signs of code brown. kept the paces at around target pace of 8:30. i figure this may be close to maximum effort for the marathon so wanted to practice.
#running
So, I finally got day 17 to under a second on my machine. (in the test runner it takes 10)
I implemented a Fibonacci Heap to replace the priority queue to great success.
https://git.sour.is/xuu/advent-of-code/src/branch/main/search.go#L168-L268
OH MY FREAKING HECK. So.. I made my pather able to run as Dijkstra or A* if the interface includes a heuristic.. when i tried without the heuristic it finished faster :|
So now to figure out why its not working right.
i am wondering if maybe i need a better heap like a btree backed one instead of just list sort on Dequeue.
I found a bug where i didnt include an open/closed list that seemed to shave off a little. right now it runs in about 70 seconds on my machine.. it takes over the 300s limit when it runs on the testrunner on the same box.. docker must be restricting resources for it.
I might come back to it after i work through improving my code for day 23. Its similar but looking for the longest path instead of shortest.
man⊠day17 has been a struggle for me.. i have managed to implement A* but the solve still takes about 2 minutes for me.. not sure how some are able to get it under 10 seconds.
Solution: https://git.sour.is/xuu/advent-of-code/src/branch/main/day17/main.go
A* PathFind: https://git.sour.is/xuu/advent-of-code/src/branch/main/search.go
some seem to simplify the seen check to only be horizontal/vertical instead of each direction.. but it doesnât give me the right answer
I have been doing interview prep for next year. The problems have been great to get practice and make it fun when compared to the dry solve this you get on hacker rank or code scene.
That and so many great write-ups to explain the problems.
I found these write-ups for advent of code. They are quite well done and a great learning resouce for algorithms!
@movq@www.uninformativ.de So.. i eventually made it to the end on this one.. was able to reuse code from days 8 and 9!
SSBzdGlsbCBkbyBub3QgdW5kZXJzdGFuZCB3aHkgdXNpbmcgdGhlIHJhdGUgb2YgY2hhbmdlIGlu
IHRoZSBwdXNoZXMgZ2l2ZXMgbWUgdGhlIGFuc3dlci4uIGJ1dCB5ZWFoLi4K
Iâm really bad at competitive programming. đ For todayâs #AdventOfCode puzzle, I spent an eternity trying to understand exactly what kind of bG9naWMgY2lyY3VpdAo= the puzzle input describes â I havenât done that in well over a decade, so I made little progress. I knew right from the start that SSBoYWQgdG8gbG9vayBmb3IgY3ljbGUgbGVuZ3RocyBhbmQgdGhlbiBmaW5kIHRoZSBMQ00K. It just didnât occur to me to just run my program on cGFydGlhbCBpbnB1dAo= and print those numbers. đ„Ž I only did that after over 4 hours (including time to debug my nasty C code) and then, boom, solution âŠ
Todayâs Advent of Code puzzle was rather easy (luckily), so I spent the day doing two other things:
- Explore VGA a bit: How to draw pixels on DOS all by yourself without a library in graphics mode 12h?
- Explose XMS a bit: How can I use more than 640 kB / 1 MB on DOS?
Both are ⊠quite awkward. đŹ For VGA, Iâll stick to using the Borland Graphics Interface for now. Mode 13h is great, all pixels are directly addressable â but itâs only 320x200. Mode 12h (640 x 480 with 16 colors) is pretty horrible to use with all the planes and what not.
As per this spec, Iâve written a small XMS example that uses 32 MB of memory:
https://movq.de/v/9ed329b401/xms.c
It works, but it appears the only way to make use of this memory is to copy data back and forth between conventional memory and extended memory. I donât know how useful that is going to be. đ€ But at least I know how it works now.
Its the latest ryzen 7 chipset for laptop/mini form factor.
I am very surprised about the times others are getting. I guess thatâs the difference between interpreted and compiled showing.
This day one advantage of code was pretty neat looking.
https://twitter.com/gereleth/status/1730495736070938786?s=09
Code here: https://github.com/gereleth/aoc_python/blob/main/src/year2023/day01vis.py
@movq@www.uninformativ.de Dang. Really going overboard with this!
@prologic@twtxt.net I didnât have to do much backtracking. I parsed into an AST-ish table and then just needed some lookups.
The part 2 was pretty easy to work into the AST after.
https://git.sour.is/xuu/advent-of-code-2023/commit/c894853cbd08d5e5733dfa14f22b249d0fb7b06c
Day 3 of #AdventOfCode puzzle đ
Letâs go! đ€Ł
Come join us! đ€
đ Hey you Twtxters/Yarners đ Letâs get a Advent of Code leaderboard going!
Join with
1093404-315fafb8
and please use your usual Twtxt feed alias/name đ
My code is here. https://git.sour.is/xuu/advent-of-code-2023
~22h to go for the 3rd #AdventOfCode puzzle (Day 3) đ
Come join us!
đ Hey you Twtxters/Yarners đ Letâs get a Advent of Code leaderboard going!
Join with
1093404-315fafb8
and please use your usual Twtxt feed alias/name đ
If anyone is doing advent of code this year i created a private leader board for twtxters! 3463928-93bf7cfa
Starting Advent of Code today, a day late but oh well đ
Also going to start a Twtxt/Yarn leaderboard. Join with 1093404-315fafb8
and please use your usual Twtxt feed alias/name đ
@eapl.me@eapl.me are ISPs still injecting code into HTTP in this the year 2023? I remember getting notices that my comcast modem is out of date pushed into websites back a decade ago.
I think is part of the code by @eapl.me@eapl.me that I have based my project on. So try to ask him.
Gracias. Also the git repo now contain code that should actually work
Commentaire du code pour un service de lecture over ssh (et je me la pĂšte au passage avec plein de liens #C ) : https://si3t.ch/log/2023-11-13-txtoverssh.c.txt gopher://si3t.ch/0/log/2023-11-13-txtoverssh.c.txt gemini://si3t.ch/log/2023-11-13-txtoverssh.c.txt http://6gvb6fzoxv72mtlpvr2fgj7ytpeggwuerdawspt24njlkwfxir6jncid.onion/log/2023-11-13-txtoverssh.c.txt gopher://of2w2p5f4hsslk63hmo6tid6r7inhlxuxviq4pb5cxg45enswpbrfjad.onion/0/log/2023-11-13-txtoverssh.c.txt gemini://b2khgkvb2wn4avjshjp63kknsjwikgwff5dwwydldia6qwf4kdnueyad.onion/log/2023-11-13-txtoverssh.c.txt ou encore âssh lire@si3t.châ numĂ©ro 45.
Pinellas County - Base: 4.54 miles, 00:10:07 average pace, 00:45:57 duration
whoa humidity! had to cut it short for code brown.
#running
- Itâs criminal: Copilot was only possible because of massive theft of other peoplesâ work (no compensation or even acknowledgement to any of the developers whose code was used to create Copilot)
- Itâs positioned to put software developers out of work or so fully de-skill them that they no longer know how to code anything but prompts (after which come corporate-justified salary and benefits decreases)
Donât use it. No one should ever use it. Youâre destroying your own future as a software developer by leaning on and supporting these things.
How Google Authenticator made one companyâs network breach much, much worse | Ars Technica
đ€Šââ
WHY are these big companies treated as though they are the be all and end all of infosec? These are rookie mistakes Googleâs making, at scale.
Unfortunately Google employs dark patterns to convince you to sync your MFA codes to the cloud, and our employee had indeed activated this âfeatureâ. If you install Google Authenticator from the app store directly, and follow the suggested instructions, your MFA codes are by default saved to the cloud. If you want to disable it, there isnât a clear way to âdisable syncing to the cloudâ, instead there is just a âunlink Google accountâ option.
Like, never ever put your multi-factor tokens into a single cloud storage location! The whole point of this being âmultiâ factor is that there is a separate, independent physical factor involved in the authentication process. If the authenticator app on your phone puts the tokens in the cloud, then it reduces the security that comes from having a second factor. This is basic stuff.
Of course, never ever use Google Authenticator. All it does is generate TOTP and HOTP codes, which you can do with any OTP app, preferably an open source one thatâs been vetted.
Not a bad option, although now we need a phone with camera, a printer, a QR reader app, to name a fewâŠ
And donât let get started with usability issues of QR codes (like restaurant menus)
My idea is to make it easy to backup keys with pen and paper đ đ without copying the hexadecimal string which is prone to error đ
@eapl.me@eapl.me QR code printed on paper?
Iâd love to read the original source code of this:
https://ecsoft2.org/t-tiny-editor
This was our standard editor back in the day, not an âemergency toolâ. And itâs only 9kB in size ⊠which feels absurd in 2023. đ The entire hex dump fits on one of todayâs screens.
Being so small meant it had no config file. Instead, it came with TKEY.EXE
, a little tool to binary-patch T.EXE
to your likings.
@New_scientist@feeds.twtxt.net hello @prologic@twtxt.net hereâs another feed thatâs spewing multiple copies of the same post. This one above is repeated 8 times. @awesome-scala-weekly@feeds.twtxt.net now has 13 copies of each post every week. This definitely looks like a bug in whatever code is generating these feeds, because the source feeds donât have multiple copies of the original posts:
- Has 8 copies of the above post: https://feeds.twtxt.net/New_scientist/twtxt.txt
- Has only 1 copy of the above post: https://www.newscientist.com/feed/home/
I forget whether I filed an issue on this before, but can you tell me where I should do that?
I take it back. Excalidraw is like tldrawâyou can integrate it into a Javascript front end if you want. Which means technically you could self-host it if you wanted, but youâd have to write your own front end code to embed it, and host that code somehow.
En un ejercicio de diseño, Âżque pasarĂa si hacemos el inicio de sesiĂłn solo con un cĂłdigo dinĂĄmico TOTP?
Lo que he encontrado es que muchos clientes limitan a 6 y mĂĄximo 8 o 10 caractĂšres.
QuizĂĄs algo de 12 o 16 dĂgitos (similar a una tarjeta de crĂ©dito, por lo que describe frecuentemente), agregarĂa seguridad.
AquĂ unas fĂłrmulas interesantes para predecir la probabilidad de un ataque de fuerza bruta, dependiendo el nĂșmero de dĂgitos.
https://security.stackexchange.com/questions/185905/maximum-tries-for-2fa-code#185917
En un ejercicio de diseño, Âżque pasarĂa si hacemos el inicio de sesiĂłn solo con un cĂłdigo dinĂĄmico TOTP?
Lo que he encontrado es que muchos clientes limitan a 6 y mĂĄximo 8 o 10 caractĂšres.
QuizĂĄs algo de 12 o 16 dĂgitos (similar a una tarjeta de crĂ©dito, por lo que describe frecuentemente), agregarĂa seguridad.
AquĂ unas fĂłrmulas interesantes para predecir la probabilidad de un ataque de fuerza bruta, dependiendo el nĂșmero de dĂgitos.
https://security.stackexchange.com/questions/185905/maximum-tries-for-2fa-code#185917
Home | Tabby This is actually pretty cool and useful. Just tried this on my Mac locally of course and it seems to have quite good utility. What would be interesting for me would be to train it on my code and many projects đ
Asleep at the Keyboard? Assessing theâšSecurity of GitHub Copilotâs Code Contributions
40% of code produced by GitHub Copilot has at least one well-known security vulnerability, in the test reported in this paper.
@Planet_Jabber_XMPP@feeds.twtxt.net No. ChatGPT does not improve your code. Coding is thinking. You offloaded your thought to a machine. You will not be able to reproduce what the machine did for you if you donât have the machine, so you learned nothing.
Erlang Solutions: How ChatGPT improved my Elixir code. Some hacks are included.
I have been working as an Elixir developer for quite some time and recently came across the ChatGPT model. I want to share some of my experience interacting with it.
During my leisure hours, I am developing an open-source Elixir initiative, Crawly, that facilitates the extraction of structured data from the internet.
Here I want to demonstrate how ⊠â Read more
TornadoVM Continues Adapting Java OpenJDK/GraalVM For Heterogeneous Hardware
A new release of TornadoVM is now available, the open-source plug-in to OpenJDK and GraalVM to allow for Java code to run on heterogeneous hardware with ease â including various GPU models as well as FPGAs⊠â Read more
They havenât written the federation code yet. Its literally run on the staging instance. People are paying to access the alpha. Though if you want a code to see what all the fuss is about there are a few with invites around here.
So the news is telling me, Bluesky is the hottest new decentralized thing, with parole waiting month to join, or buying invite codes of ebay, for thousands of dollars.
Yet thereâs not one other instance out there, for people to join this decentralized paradise. Idk, just sounds a little sussy to me.
I know there was stems.social, but when people tried joining it, they cried âabuseâ and shut it down - so no, it doesnât count.
being immersed in gorgeous #nature makes me want to write elegant programs, Iâm amazed by the underlying systems #coding #phylosophy
Went to the barber shop today. Got a nice talk and, surprisingly, my first âcontractâ to 3D print something. So, I spent the last hour reading about QR codes, versions and patterns and rescue data to embed an image in the centre of the code. Then it took me some time to convert it from a PNG to an SVG to an STL, so I can put it into Tinkercad to design the new plate. I now have a baseplate, a backplate with the QRCode & two smaller plates which I have to glue into placeholders on the backplate.
There is a ârightâ way to make something like GitHub CoPilot, but Microsoft did not choose that way. They chose one of the most exploitative options available to them. For that reason, I hope they face significant consequences, though I doubt they will in the current climate. I also hope that CoPilot is shut down, though Iâm pretty certain it will not be.
Other than access to the data behind it, Microsoft has nothing special that allows it to create something like CoPilot. The technology behind it has been around for at least a decade. There could be a âpublicâ version of this same tool made by a cooperating group of people volunteering, âleasingâ, or selling their source code into it. There could likewise be an ethically-created corporate version. Such a thing would give individual developers or organizations the choice to include their code in the tool, possibly for a fee if thatâs something they want or require. The creators of the tool would have to acknowledge that they have suppliersâthe people who create the code that makes their tool possibleâinstead of simply stealing what they need and pretending thatâs fine.
This era weâre living through, with large companies stomping over all laws and regulations, blatantly stealing other peopleâs work for their own profit, cannot come to an end soon enough. It is destroying innovation, and we all suffer for that. Having one nifty tool like CoPilot that gives a bit of convenience is nowhere near worth the tremendous loss that Microsoftâs actions in this instace are creating for everyone.
@carsten@yarn.zn80.net Thatâs a dissembling answer from him. Github is owned by Microsoft, and CoPilot is a for-pay product. It would have no value, and no one would pay for it, were it not filled with code snippets that no one consented to giving to Microsoft for this purpose. Microsoft will pay $0 to the people who wrote the code that makes CoPilot valuable to them.
In short, itâs a gigantic resource-grab. Theyâre greedy assholes taking advantage of the hard work of millions of people without giving a single cent back to any of them. I hope theyâre sued so often that this product is destroyed.
I was listening to an OâReilly hosted event where they had the CEO of GitHub, Thomas Dohmke, talking about CoPilot. I asked about biased systems and copyright problems. He, Thomas Dohmke, said, that in the next iteration they will show name, repo and licence information next to the code snippets you see in CoPilot. This should give a bit more transparency. The developer still has to decide to adhere to the licence. On the other hand, I have to say he is right about the fact, that probably every one of us has used a code snippet from stack overflow (where 99% no licence or copyright is mentioned) or GitHub repos or some tutorial website without mentioning where the code came from. Of course, CoPilot has trained with a lot of code from public repos. It is a more or less a much faster and better search engine that the existing tools have been because how much code has been used from public GitHub repos without adding the source to code you pasted it into?
I played around with parsers. This time I experimented with parser combinators for twt message text tokenization. Basically, extract mentions, subjects, URLs, media and regular text. Itâs kinda nice, although my solution is not completely elegant, I have to say. Especially my communication protocol between different steps for intermediate results is really ugly. Not sure about performance, I reckon a hand-written state machine parser would be quite a bit faster. I need to write a second parser and then benchmark them.
lexer.go and newparser.go resemble the parser combinators: https://git.isobeef.org/lyse/tt2/-/commit/4d481acad0213771fe5804917576388f51c340c0 Itâs far from finished yet.
The first attempt in parser.go doesnât work as my backtracking is not accounted for, I noticed only later, that I have to do that. With twt message texts there is no real error in parsing. Just regular text as a âfallbackâ. So it works a bit differently than parsing a real language. No error reporting required, except maybe for debugging. My goal was to port my Python code as closely as possible. But then the runes in the string gave me a bit of a headache, so I thought I just build myself a nice reader abstraction. When I noticed the missing backtracking, I then decided to give parser combinators a try instead of improving on my look ahead reader. It only later occurred to me, that I could have just used a rune slice instead of a string. With that, porting the Python code should have been straightforward.
Yeah, all this doesnât probably make sense, unless you look at the code. And even then, you have to learn the ropes a bit. Sorry for the noise. :-)
Code Lifespan
â Read more
It seems like https://proxy.vulpes.one/ runs a code that once was written by @prologic@twtxt.net. Its rendering looks quite nice. Sadly, I am unable to compile it (modified code at https://git.vulpes.one/gopherproxy/).
An interesting read about testing code using nullable states instead of mocks.
https://www.jamesshore.com/v2/projects/testing-without-mocks/testing-without-mocks