WTF Bites
-
@djls45 Yes. I should know that. <excuse here>
-
@cvi You aught to have known that
(img height works in preview but not in post)
-
Looking at the pcapng spec to help a coworker parse something...
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Code | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Option Value / / /* variable length, aligned to 32 bits */ / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / / / . . . other options . . . / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Code == opt_endofopt | Option Length == 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
At first, I was wondering why the option code field is 13 bits wide. Looking at the actual file, I couldn't get it to line up with anything. Then I realized the first row isn't marking out 8-bit bytes, it's marking out 10-bit groups, but nothing is 10-bit aligned so the bit documentation at the top is dumb and has no reason to be weird.
WHY WOULD YOU DO THAT.jpg
-
@mott555
I would postulate it has something to do with the fact that the rows are 32 bits (00-31) long, and it was easier to put the 10s digit in an overrow than to either use 2 digits for each bit number and have no space, or wind up with910 1
at one point.
-
@izzion WHO THE LABELS BIT COUNTS FOR 32-BIT ALIGNED BINARY DATA IN DECIMAL!!!!
This spec just gave me a bad case of the Mondays.
-
At first, I was wondering why the option code field is 13 bits wide. Looking at the actual file, I couldn't get it to line up with anything. Then I realized the first row isn't marking out 8-bit bytes, it's marking out 10-bit groups, but nothing is 10-bit aligned so the bit documentation at the top is dumb and has no reason to be weird.
What? Uh...it's just numbers at the top...0-31. 32 bits. The code is the first 16, the length is the last 16, then the value follows. It looks like the
opt_endofopt
is 16.5 bits though, which must be interesting.
-
For comparison, we all expected (and assumed) it was this, because that's how everything else we deal with is documented:
0 1 2 3 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Code | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Option Value / / /* variable length, aligned to 32 bits */ / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / / / . . . other options . . . / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Code == opt_endofopt | Option Length == 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I hope that shows up properly. The preview was doing...strange things. Oops. Preview is fixed-width, the editor is not.
-
@mott555
I'm pretty sure I've seen both in RFCs.
-
For comparison, we all expected (and assumed) it was this, because that's how everything else we deal with is documented:
Huh...I don't think I've ever seen octal labels like that, though admittedly I don't look at a whole lot of RFCs. I was really thrown by how you said "groups of 10 bits," because it was just numbering the bits as far as I could tell, and why not decimal?
-
@boomzilla In networking you don't have 32 bits. You have 4 octets.
-
In networking you don't have 32 bits.
I'm assuming (now) that's what pcapng is?
-
@boomzilla Yeah, pcapng is a file format for storing Ethernet captures. I'm fairly certain the file format was created by the Wireshark team. I might have forgotten to mention that earlier.
-
@mott555 WHARGARBLE mind readers!!!!
-
@mott555 Which I knew because I handle pcap files pretty frequently as well.
-
pcap is the file format used by libpcap/winpcap, which wireshark uses for packet capture. Google results on pcapng are scarce; It's an evolution of basic pcap but I can't find further details offhand.
-
@PleegWat Huh. I had no trouble finding the spec, although this is a draft from 2004 and I don't know if there's a newer revision. There might be, because we had stuff in the capture provided by the customer that doesn't follow this spec, but we were unable to locate anything newer...which is yet another WTF Bite I suppose.
-
My WTF of the day:
Not this video.
https://www.youtube.com/watch?v=tfXWXNItF_Y
But rather the comments. Geeze.
-
@mott555 Hm, looks over-engineered. They probably had need to. I'll pay closer attention if anyone ever asks for support, which is unlikely because the tcpdump command-line tool on all supported platform still produces normal pcap files at the moment and it's a debugging tool anyway. Normal operation is live capture.
-
But rather the comments. Geeze.
Seriously - Geeze. Someone go over to that snake story and pull the damn lever.
-
In today's irony overload section:
https://christiantruther.com/end-times/demonology/theres-a-war-for-your-soul-churches-are-being-infiltrated-by-deceptive-cults/
-
@cartman82 said in WTF Bites:
Bonus WTF: their awful site:
Apart from the fact that they used some website scraper to copy their own site to somewhere else: I've seen worse. Like HP's for instance, guys who really ought to know better.
Of course their wording...We offer systems for medical sensitive areas, such as operating rooms which require the highest quality standards. The perfect combination of intensive consulting, high quality technologies and competent support guarantee your best solution.
Oh, riiight ...
-
At first I thought this
@cartman82 said in WTF Bites:
Bonus WTF: their awful site:
http://www.esinomed.de/esinomed/de/web.html
Apart from the fact that they used some website scraper to copy their own site to somewhere else: I've seen worse. Like HP's for instance, guys who really ought to know better.
Of course their wording...We offer systems for medical sensitive areas, such as operating rooms which require the highest quality standards. The perfect combination of intensive consulting, high quality technologies and competent support guarantee your best solution.
Oh, riiight ...
was in response to this:
@coldandtired said in WTF Bites:
In today's irony overload section:
https://christiantruther.com/end-times/demonology/theres-a-war-for-your-soul-churches-are-being-infiltrated-by-deceptive-cults/
because of the reversed 'demonise' link: www.esinomed.de/esinomed/de/web.html
-
My WTF of the day:
Not this video.
https://www.youtube.com/watch?v=tfXWXNItF_Y
But rather the comments. Geeze.
Hmm 220 upvotes for this:
Just look at the drastic damage control, first that paid actor who shot up comet pizza to make the good people trying to bring these sick fucks to justice look crazy now there's bought and paid journalists and TV host's trying to discredit it with no evidence debunking pizza gate. Its truly pathetic how far these people are willing to go to cover up all of these sick twisted individuals crimes.
Now I start to feel much much better about TD Trumpets!
-
My WTF of the day:
Not this video.
https://www.youtube.com/watch?v=tfXWXNItF_Y
But rather the comments. Geeze.
Hmm 220 upvotes for this:
Just look at the drastic damage control, first that paid actor who shot up comet pizza to make the good people trying to bring these sick fucks to justice look crazy now there's bought and paid journalists and TV host's trying to discredit it with no evidence debunking pizza gate. Its truly pathetic how far these people are willing to go to cover up all of these sick twisted individuals crimes.
Now I start to feel much much better about TD Trumpets!
YOU HAVE NO EVIDENCE THAT THE PIZZA RESTAURANT WITH NO BASEMENT DIDN'T HAVE A SEX DUNGEON UNDER ITS NONEXISTENT BASEMENT
In related news, you also have no evidence that there is a turtle emoji in topic 21591 or post 1058351 because those IDs do not correspond with any topic or post.
-
if ($scope.isValuePositive(actual)) { scaled = highest - Math.abs(actual); } else { scaled = highest + Math.abs(actual); }
-
if ($scope.isValuePositive(actual)) { scaled = highest - Math.abs(actual); } else { scaled = highest + Math.abs(actual); }
Maybe they're coding for an embedded processor without a filesystem that can't handle double negatives?
-
Maybe they're coding for an embedded processor without a filesystem that can't handle double negatives?
Does Android WebView 53+ could as embedded?
-
@ben_lubar said in WTF Bites:
In related news, you also have no evidence that there is a turtle emoji in topic 21591 or post 1058351 because those IDs do not correspond with any topic or post.
Are you asking for a self-fulfilling prophecy?
-
It really would have been nice to be warned that QuickBooks Online and Mint.com use the same login...
I set up a trial QuickBooks Online account to test something for a potential customer, and it told me that my email was already in use. I didn't recall ever setting up QuickBooks Online before, but I did a password reset and was able to change my password and log in.
A few days pass by, and now my KeePass credentials for Mint don't work anymore. Then I noticed "intuit" in the URL...
-
Chocolatey means QUALITY!!!1
https://chocolatey.org/docs/features-automatically-recompile-packages
(Yes, the title of the page is FeaturesAutomaticallyRecompilePackages)
Here's a frame from the second image on the page, an animated gif of a powershell window with someone typing into it.
SEVEN MOUSE CURSORS!
Anyway, the first image on the page is pretty high quality too:
All it's missing is some hand-drawn MS Paint arrows.
But enough about the tutorials. Let's talk about quality software!
ProGet is actually pretty good software if you want to host your own NPM or NuGet or whatever. Let's look at its page on Chocolatey!
Let's click on one of the underlined links that use a text selection cursor!
The script named
tools\chocolateyInstall.ps1
downloads an EXE over unsecured HTTP and then runs it. It does not check for a signature or that the hash of the file is correct. This is obviously good enough to earn a TRUSTED rating.They have virus scan results below the script:
- proget.4.6.3.nupkg (e8068d5bc8e0) - ## / 54 - Log in or click on link to see number of positives
- ProGetSetup4.6.3.exe (b5d220344f0e) - ## / 55 - Log in or click on link to see number of positives
Seeing the results of the virus scan is a premium feature!
-
@ben_lubar said in WTF Bites:
The script named tools\chocolateyInstall.ps1 downloads an EXE over unsecured HTTP and then runs it. It does not check for a signature or that the hash of the file is correct. This is obviously good enough to earn a TRUSTED rating
You can trust me, baby. We don't need protection.
-
-
@Tsaukpaetra I loved that feature when I first found out about it.
I was 10 at the time.
It lasted a week. Maybe shorter.
-
@PleegWat Combined with the dinosaur mouse pointers and the "hit ctrl to point out where the mouse is", it was really fun. For a day or so
-
Kind of defeats the point of noSQL...
-
Trying to explain to the underachiever why he can't just draw a timeline chart with raw numbers from the server, but must fill in the empty time slices with zeros.
After trying to convince me it's not a big deal for hour precision, I think he now finally gets it and is off to produce more shitty code.
This is a senior developer, BTW.
-
@cartman82 said in WTF Bites:
but must fill in the empty time slices with zeros.
Sometimes you need to use a null (of some sort) instead; you don't necessarily have no events, just no information.
-
I just randomly found out some project at work calls its weekly meetings "cabals". Who comes up with this shit?
-
@blek
The technical term is "consultants"Let's pull that word apart.
CONsultants
CONsultants
noun- People who live like a king by convincing other people to part with their money in exchange for services of dubious value.
-
Oh, and another project, one that I actually care about, just announced some major changes, including the schedule for a new major release deployment - over a podcast, and literally no other way. This is how I imagine the decision making process behind that:
Asshole 1: Hey, we should probably do an announcement about the next release, it's going to be big.
Asshole 2: Yes, but how do we make this as inconvenient as possible to everyone? Also, I'm a fucking retard so instead of doing something productive, I want to spend an hour just talking about shit into a microphone. And I want to make everyone listen to my annoying, nasally voice, because I have a gigantic ego.
Asshole 1: Oh man, that gives me an idea: how about we do a podcast? So instead of everyone being able to get the most important info by skimming through the announcement in 30 seconds, they'll have to listen to us talk for 60 fucking minutes, while staring at a blank screen the entire time like complete fucking assholes so they don't miss anything?
Asshole 2: Wow, you're a fucking genius!Calm down, Blek, calm down, the Christmas shutdown starts soon, think happy thoughts...
-
@izzion
Hm, I missed an opportunity to make the last phoneme a play on "tits"CONsultan-tits
noun- Boobs who live like a king by convincing other people to part with their money in exchange for services of dubious value.
-
Oh, and another project, one that I actually care about, just announced some major changes, including the schedule for a new major release deployment - over a podcast, and literally no other way.
At least it wasn't just announced on a live stream…
-
So instead of everyone being able to get the most important info by skimming through the announcement in 30 seconds, they'll have to listen to us talk for 60 fucking minutes, while staring at a blank screen the entire time like complete fucking assholes so they don't miss anything?
Hmm, I hear there are cheap transcription services online...
-
Oh, and another project, one that I actually care about, just announced some major changes, including the schedule for a new major release deployment - over a podcast, and literally no other way. This is how I imagine the decision making process behind that:
WTF?
You have a company podcast? Who the hell listens to that?
-
At least it wasn't just announced on a live stream…
Bosses play Minecraft for hours, and somewhere around 1:45h into it, mention the new product.
-
@cartman82 I know I don't.
-
-
@Luhmann ConsUltaNT
-
YouTube app decided to wake me up at four in the morning to notify me that a channel I subscribe to has a new video.
-
Got a new job working with a primarily Visual Basic shop that wants to move its flagship product to C++. So I'm getting to work with COM a lot, as I have to replace modules while keeping interfaces intact. ATL offers a lot of convenience classes and methods to make working with COM less painful. Honestly, it's not too bad, once you start to understand how the MIDL compiler writes the headers and how the ATL class structure works.
For example, you have CComObject class, which has a handy CreateInstance method so you don't have to do a system call that searches the registry when the class you want to instantiate is in your own project. Of course, COM objects are reference counted, and CreateInstance creates an object with a ref count of 0, so remember to call AddRef immediately upon creation.
But CComObject::CreateInstance is perhaps a bit too convenient, and maybe you don't want a pointer to the base object, just one to the interfaces the object exposes. Well, CComCoClass has you covered. It also has a CreateInstance method, but it only returns interface pointers, not object pointers. I hope you remembered to call AddRef. Oh, you did? Well, that explains why you were leaking that object then. This CreateInstance gives you an object with a refcount of 1. Isn't that so much more convenient?
Yes, the documentation doesn't mention this fact. I hope the fact that we omitted to make mention of the reference count was sufficient information to infer that you didn't have to call it. I know, the documentation for the other CreateInstance links to this CreateInstance, and your default ATL object inherits both, but it shouldn't take long to figure it out.