It's still going....
Part 2 is a quick change but UGH IT"S GONNA BE A WHILE
apparently it runs for like ~350K cycles? this is gonna take a while because the printfn is slowing me down
I think I have day 5 part 1 but it's just kinda stuck in an infite loop?? this requires more debugging
acme is like emacs lite but with your mouse
Shoutout to all of the plan9 users I just sent into a blind rage
Thanks to @jk for pulling this up
The "Canon Cat" was a dedicated writing machine/word processor designed by Jeff Raskin for Canon Inc. in 1987. It originally sold for around $1500 and came with a Motorola 68000 running at 5 MHz and 256Kb RAM
There was one 3.5" floppy (256K max) drive to the left of the screen
These model photos scanned by Marcin Wichary
Real on-screen text sample by Flickr user "MJM1977"
More hardware info available at:
loooooove too watch openbsd reorder libraries for like 90s every boot
Me: "Hmmm, this new language / framework looks interesting ..."
Hello World Tutorial: "It's super simple. All you need is Java, Node.js, bower, gulp, cmake, ant, Python, Docker and 359 other dependencies. It rocks! Woohoo! So simple!"
Me: "I don't like programming anymore."
So, there's a Chinese botnet package known as "Destroyer" (破坏者).
It, ironically, can itself be destroyed, thanks to a stack buffer overflow.
I wasn't able to get full RCE, but a jump to "call ExitProcess" should be enough, no? It can be triggered directly after "start DDoS", for even more lulz.
Here's the exploit: https://gist.github.com/Wack0/d0aa7f56d5d044fb918056207d2149b1
And here's a bot sample hash: b17535de8061dce3d6630e92d601ebe1ebac44ed52b3a04a8bb72f6661f23d44
Let's #destroythedestroyer :)
The important thing that, like it's "predecessors," it's content first, and without the style, the page is still workable.
Content before presentation, and you won't need a new web.
#AoC2017 #FSharp day4 sol Show more
// thought out sorting works and makes it easier
let part1 z =
let values = z |> List.map (fun x ->
List.distinct x = x) |> List.filter (fun y -> y)
let part2 z =
let sort (x: string) = x |> Seq.sort |> System.String.Concat
let values =
List.map (fun x -> List.map (fun y -> sort y) x) z
|> List.map (fun x -> List.distinct x = x)
|> List.filter (fun x -> x)