TIL (about the Dark Arts of HTML)
-
-
@bb36e said in TIL (about the Dark Arts of HTML):
@hungrier bummer, try it with the root domain:
http://ai./
In Firefox one has to do that, because Firefox does not expect anybody to have an A (or AAAA) record for a TLD and rewrites it to
http://ai.com/
unless the.
is given (but writing a bug report today).
-
@Bulb I'm surprised it's even allowed on country TLDs, given that on the new commercial TLDs it's explicitly forbidden.
-
@Bulb said in TIL (about the Dark Arts of HTML):
In Firefox one has to do that, because Firefox does not expect anybody to have an A (or AAAA) record for a TLD and rewrites it to http://ai.com/
I didn't.
Firefox:
-
@loopback0 ßtrange… aah, it was actually the
/
, not the.
that changed it... It still rewrites it towww.ai
for me though.
-
@Bulb said in TIL (about the Dark Arts of HTML):
@loopback0 ßtrange… aah, it was actually the
/
, not the.
that changed it... It still rewrites it towww.ai
for me though.Yeah.
www.ai
works here in chrome but not justai
. Also:$ nslookup ai Server: 127.0.0.53 Address: 127.0.0.53#53 ** server can't find ai: SERVFAIL $ nslookup www.ai Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: www.ai Address: 209.59.119.34
-
@boomzilla said in TIL (about the Dark Arts of HTML):
@Bulb said in TIL (about the Dark Arts of HTML):
@loopback0 ßtrange… aah, it was actually the
/
, not the.
that changed it... It still rewrites it towww.ai
for me though.Yeah.
www.ai
works here in chrome but not justai
. Also:$ nslookup ai Server: 127.0.0.53 Address: 127.0.0.53#53 ** server can't find ai: SERVFAIL $ nslookup www.ai Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: www.ai Address: 209.59.119.34
IOW some browsers are automatically adding a www and ?
-
@Tsaukpaetra I guess. FF here redirects
http://ai
http://www.ai.com
.
-
@boomzilla said in TIL (about the Dark Arts of HTML):
FF here redirects
http://ai
http://www.ai.com
.Mine does that if I press Ctrl + Enter in the address bar.
-
@PleegWat said in TIL (about the Dark Arts of HTML):
I'm surprised it's even allowed on country TLDs, given that on the new commercial TLDs it's explicitly forbidden.
Country TLDs are explicitly regulated by each of the countries concerned, with whatever structure beneath they choose. If that country allows the TLD to resolve to an actual host, it does so. (They're encouraged to tell others that this is the case if they do it, as with any registry; it allows some security features to be tuned to include appropriate exceptions.)
-
-
@loopback0 Yeah, I new fairly quickly. Never had the impetus to purchase the full version though.
-
@loopback0 said in TIL (about the Dark Arts of HTML):
But would it still work on recent versions of Windows? I thought the whole reason the pinball game was removed from the Windows games was that it broke and nobody was eager to fix some third party's code.
-
@JBert said in TIL (about the Dark Arts of HTML):
@loopback0 said in TIL (about the Dark Arts of HTML):
But would it still work on recent versions of Windows? I thought the whole reason the pinball game was removed from the Windows games was that it broke and nobody was eager to fix some third party's code.
If memory serves it doesn't talk to DirectX properly and you end up with a black screen. Will try it if I remember.
-
@JBert said in TIL (about the Dark Arts of HTML):
But would it still work on recent versions of Windows?
No idea if you could make the Windows XP version work.
This Abandonware site has a link to download Full Tilt, and a link to a guide to make it run on Windows 10 (I've not tried this yet).
-
@JBert said in TIL (about the Dark Arts of HTML):
But would it still work on recent versions of Windows? I thought the whole reason the pinball game was removed from the Windows games was that it broke and nobody was
eagerable to fix some third party's code.According to Raymond Chen, who was there:
One of the things I did in Windows XP was port several millions of lines of code from 32-bit to 64-bit Windows so that we could ship Windows XP 64-bit Edition. But one of the programs that ran into trouble was Pinball. The 64-bit version of Pinball had a pretty nasty bug where the ball would simply pass through other objects like a ghost. In particular, when you started the game, the ball would be delivered to the launcher, and then it would slowly fall towards the bottom of the screen, through the plunger, and out the bottom of the table.
Games tended to be really short.
Two of us tried to debug the program to figure out what was going on, but given that this was code written several years earlier by an outside company, and that nobody at Microsoft ever understood how the code worked (much less still understood it), and that most of the code was completely uncommented, we simply couldn’t figure out why the collision detector was not working. Heck, we couldn’t even find the collision detector!
-
@Mason_Wheeler said in TIL (about the Dark Arts of HTML):
Heck, we couldn’t even find the collision detector!
Here there be dragons....
-
@Mason_Wheeler The joys of trying to make a "quick change" in someone else's code. You start with "I just need to find where it says ReadConfigFile() and change the path to that other file" and 40 minutes later you're graphing the function calls through 15 files desperate to find anything that resembles opening a file.
-
@anonymous234 What I'd do in that case is delete the config file, then run it under the debugger and watch for what blows up when it can't find it.
-
@anonymous234 I had a student ask me about the recent boot ROM exploit for Apple devices. The author had published the code as a Python script, so he brought it up and asked me how it worked.
That was...bad. It was obvious (at a very high level) what it was doing--sending particular, maliciously crafted instructions at the phone. But what those instructions were and what they were doing? They seemed to be just binary numbers mashed together (probably representing specific instructions...Yeah, I totally BS'd some very high-level explanation and diverted him into thinking about how processors work.
-
TIL George Lucas's first pick for the voice of Darth Vader was Orson Welles, but since his voice was a bit too recognizable, he went with the then-unknown James Earl Jones instead.
-
@Mason_Wheeler said in TIL (about the Dark Arts of HTML):
@anonymous234 What I'd do in that case is delete the config file, then run it under the debugger and watch for what blows up when it can't find it.
And then it fills in default values and keeps chugging along.
-
@boomzilla Possibly. That's not the only remedy I'd try, but it's the first thing.
-
@Mason_Wheeler said in TIL (about the Dark Arts of HTML):
@anonymous234 What I'd do in that case is delete the config file, then run it under the debugger and watch for what blows up when it can't find it.
If the debugging capabilities are not broken because somebody implemented some broken “debugging” feature. I've spent a few days recently trying to find out why I can't get core dumps from the system and it turned out the library sets up signal handlers for the fatal signals, prints backtrace, but then exits with
_exit
, so it does not look like a crash to the system… Yeah, the joy of code I've never seen before… written by Indians.
-
@Bulb That's the point where you do a technical write-up describing exactly what's going on, take it to the boss, and say "these outsourcing morons are sabotaging our product."
-
@Mason_Wheeler It is the point where I
- Added yet another
sed -i
magic incantationpath/to/their/source
to the build script. - Wrote to them they are doing it wrong and
- Created a tracking issue.
The problem is that the relationship is somewhat complex. They are deparment B of company B, which developed a platform, asked department A of company B to integrate its application into it, take the result back and sell it to customer D. While I am employee of company C that is subcontracting for deparment A. Departments of company B, being a big company, act mostly like separate companies. So we can't really say they sabotage our project, because it is their project. All we can do is bill them all the hours and tell them that it would have been less if they were not morons—which we do.
- Added yet another
-
PS: It's not like the product of department A was that much better. It's own backtrace logic¹, which happens not to be broken, but there is still plenty of code showing serious lack of understanding of Unix API and threading and generally -worthy.
¹ I admit that I did try to replace it with systemd-coredump and it did not work, because while systemd-coredump is able to save cores sparse, it apparently first writes them thick and then punches the holes in them (yes, I did look in the code, though I am not completely sure I understood it well), for which the device does not have enough space. And it is too slow and gets killed by systemd (oh, the irony). So the signal handlers get us at least something if a crash happens in production.
-
@error_bot said in TDWTF Plays Trivia:
Entertainment: Video Games
Which game did "Sonic The Hedgehog" make his first appearance in?
A. Mega ManB. Sonic The HedgehogC. Super Mario 64D. Rad Mobile
B is incorrect. Try again later.Lockouts
djls45 is locked out for 2 rounds or 1 hour.TIL Sonic's first appearance was in a racing game called Rad Mobile, hanging from the rearview mirror five months before its eponymous game.
-
TIL that Cape Town in South Africa maintains a pair of black-powder cannons and still fires them every day (except Sunday or holidays) at noon to indicate the time.
More interesting for the members of this site is that somebody created a Twitter account which posts BANG! when the gun fires...
-
@JBert said in TIL (about the Dark Arts of HTML):
TIL that Cape Town in South Africa maintains a pair of black-powder canons and still fires them every day (except Sunday or holidays) at noon to indicate the time.
More interesting for the members of this site is that somebody created a Twitter account which posts BANG! when the gun fires...
How does that compare to the twitter account which posts Dong when big ben is hit (and when it isn't)?
-
@PleegWat said in TIL (about the Dark Arts of HTML):
@JBert said in TIL (about the Dark Arts of HTML):
TIL that Cape Town in South Africa maintains a pair of black-powder canons and still fires them every day (except Sunday or holidays) at noon to indicate the time.
More interesting for the members of this site is that somebody created a Twitter account which posts BANG! when the gun fires...
How does that compare to the twitter account which posts
DBong when big ben is hit (and when it isn't)?Probably more active while Big Ben is silent for repairs.
-
@PleegWat BONG BONG BONG BONG BONG
-
@loopback0 Seems not
-
@PleegWat said in TIL (about the Dark Arts of HTML):
@loopback0 Seems not
Seems yes.
That's the only post on the Big Ben account since late July and there are many more on the Gun account in that time. It's more active.
-
@loopback0 said in TIL (about the Dark Arts of HTML):
@PleegWat said in TIL (about the Dark Arts of HTML):
@loopback0 Seems not
Seems yes.
That's the only post on the Big Ben account since late July and there are many more on the Gun account in that time. It's more active.
Seems like the cannon wins.
-
TIL Seinfeld's intro songs weren't played on a bass.
https://youtu.be/oVldNNHQWVw?t=72
Skip to 2:18 if you just want to see it being performed.
-
@Zecc said in TIL (about the Dark Arts of HTML):
TIL Seinfeld's intro songs weren't played on a bass.
https://youtu.be/oVldNNHQWVw?t=72
Skip to 2:18 if you just want to see it being performed.
That mixer board though...
-
@anonymous234 said in TIL (about the Dark Arts of HTML):
@Mason_Wheeler The joys of trying to make a "quick change" in someone else's code. You start with "I just need to find where it says ReadConfigFile() and change the path to that other file" and 40 minutes later you're graphing the function calls through 15 files desperate to find anything that resembles opening a file.
That is why I hate those 50 tier architectures
-
@sockpuppet7 No-tiers architectures are no better. See, I am trying to fix this application where the classes implementing basically command pattern share a bunch of static variables (in the base class) holding the manipulated state, which makes it pretty painful trying to make sure that the state is actually locked where it should.
-
@Bulb said in TIL (about the Dark Arts of HTML):
command pattern
Most times I've seen this implemented, it was stupid and unecessary. I think 2 of the 3 worst codes I ever had to maintain had some type of command pattern or rules engine.
-
@sockpuppet7 said in TIL (about the Dark Arts of HTML):
command pattern
I didn't remember that one so I went and looked it up. And apart from building some funky library, when would you ever want o do that?
Paid by LOC?
-
@Carnage said in TIL (about the Dark Arts of HTML):
@sockpuppet7 said in TIL (about the Dark Arts of HTML):
command pattern
I didn't remember that one so I went and looked it up. And apart from building some funky library, when would you ever want o do that?
Paid by LOC?Doing everything the MVVM way? I know that WPF uses Commands pretty heavily.
-
@Carnage said in TIL (about the Dark Arts of HTML):
@sockpuppet7 said in TIL (about the Dark Arts of HTML):
command pattern
I didn't remember that one so I went and looked it up. And apart from building some funky library, when would you ever want o do that?
Paid by LOC?In the last example I saw, it was just passing an "operation code" to a god function instead of having one function for each thing you wanted. I think the original author just thought of it as the function that sends a command to the server, even if different commands had different parameters and behavior. The parameters were in a tag-lenght-value list.
The rules engines were much uglier stuff, and I believe the reasoning is probably better explained by @apapadimoulis here:
-
@Carnage said in TIL (about the Dark Arts of HTML):
And apart from building some funky library, when would you ever want o do that?
AFAIR, command pattern is the basic building block of every undo implementation I've ever seen.
-
@ixvedeusi said in TIL (about the Dark Arts of HTML):
@Carnage said in TIL (about the Dark Arts of HTML):
And apart from building some funky library, when would you ever want o do that?
AFAIR, command pattern is the basic building block of every undo implementation I've ever seen.
Why? It just looks like a layer of indirection?
Undo doesn't strike me as something that needs such a layer to work.
-
@sockpuppet7 said in TIL (about the Dark Arts of HTML):
@Bulb said in TIL (about the Dark Arts of HTML):
command pattern
Most times I've seen this implemented, it was stupid and unecessary. I think 2 of the 3 worst codes I ever had to maintain had some type of command pattern or rules engine.
They are requests and should be queued, and should be queued, so it makes sense. And if they were consistently queued, there would be no problem, but some are requested over an IPC channel which expects the handler to return a response, so they are invoked directly there, and invoked slightly differently than from the queue, which creates infernal mess.
-
@Carnage said in TIL (about the Dark Arts of HTML):
Why? It just looks like a layer of indirection?
Undo doesn't strike me as something that needs such a layer to work.Well, you need command objects augmented with an "undo()" function. Then each change to your document is done by issuing a command, you keep all these commands on your undo stack. An undo request executes the top command's
undo()
function, a redo request triggers the command'sexecute()
function.Seems to me like the most obvious, and cleanest, implementation for undo (in particular multi-level undo).
-
@Carnage said in TIL (about the Dark Arts of HTML):
@ixvedeusi said in TIL (about the Dark Arts of HTML):
@Carnage said in TIL (about the Dark Arts of HTML):
And apart from building some funky library, when would you ever want o do that?
AFAIR, command pattern is the basic building block of every undo implementation I've ever seen.
Why? It just looks like a layer of indirection?
Undo doesn't strike me as something that needs such a layer to work.It does need a layer—you have to keep information about what operation it was and the old and new state of whatever it modified. If you do it right, the layer can be quite thin, but it qualifies as command pattern. A queue of function does and you need at least that if you are to queue the operations (which is the original idea in our case—if only it was actually followed).
-
@ixvedeusi said in TIL (about the Dark Arts of HTML):
@Carnage said in TIL (about the Dark Arts of HTML):
Why? It just looks like a layer of indirection?
Undo doesn't strike me as something that needs such a layer to work.Well, you need command objects augmented with an "undo()" function. Then each change to your document is done by issuing a command, you keep all these commands on your undo stack. An undo request executes the top command's
undo()
function, a redo request triggers the command'sexecute()
function.Seems to me like the most obvious, and cleanest, implementation for undo (in particular multi-level undo).
That seems like having an implementable interface, which seems to be half of what the command pattern is.
But any sort of saving the deltas for the end document would be a workable solution for an undo. Didn't word for instance save edit history to the document itself so you could go back through edits done by someone else on another computer?
-
@Carnage said in TIL (about the Dark Arts of HTML):
That seems like having an implementable interface, which seems to be half of what the command pattern is.
Well, that's what I mean by command pattern anyway.
A command pattern using introspection (as the description on the Wiki seems to imply) is utterly bogus. And not applicable to C++ anyway though it does apply to the incoming XMLs we process.