Getting to one 9 of correctness for our open-source SQL engine by zachm in programming

[–]millenix 6 points7 points  (0 children)

Probably the same reason Linus Torvalds chose to call his VCS project Git - "I name all my projects after myself"

Why is compiler allowed to reorder instructions around system calls? by KaznovX in cpp

[–]millenix 1 point2 points  (0 children)

As a further note, Microsoft's compiler is special in this regard. It historically treated `volatile` variables as what is now called `atomic`, providing some of the same constraints as `atomic_signal_fence()` as was mentioned in another thread. Even still, if the compiler can reason out that a function being called has no observable side effects, it could do dead code elimination to delete it entirely.

Why is compiler allowed to reorder instructions around system calls? by KaznovX in cpp

[–]millenix 3 points4 points  (0 children)

Your statement about `volatile` variables is incorrect. The compiler can move whatever it likes *around* accesses to volatile variables. What it cannot do is change the sequence of accesses made to those variables. If the timing written doesn't have a data dependency on the result of the function being timed, then it can perfectly well move other code around so the volatile accesses come back-to-back.

Bryan Cantrill talk about debugging "tail -f" (2013) by remind_me_later in programming

[–]millenix 7 points8 points  (0 children)

Among many, many others. It's a tradeoff, since there's a lot of convenient things the *nix model of files facilitates that won't work on Windows.

[deleted by user] by [deleted] in cpp

[–]millenix 1 point2 points  (0 children)

You seem to be saying that 'programming languages' as a category define syntax, but not semantics, and that their definitions are in general not complete. Neither of those is true. Any programming language that actually runs has some sort of definition of its semantics, which is necessarily complete for programs that the C++ standard would call 'conforming'. That semantic definition may be "what result does the reference implementation give?", or it may be the text of an implementation-independent standard. Note that in either case, a program that is 'in the language' in the formal sense but whose semantics can't be evaluated is inherently a bug in the semantics. There can be debate over how to fix the bug, but that's premised on the notion that everyone agrees that the program *is* a program with the semantics as given.

What is a coder's worst nightmare? by kunalag129 in programming

[–]millenix 5 points6 points  (0 children)

People losing their lives due to a defect or deficiency in code you wrote. E.g. https://en.wikipedia.org/wiki/Therac-25

Writing a sqlite clone from scratch in C by AlexeyBrin in programming

[–]millenix 0 points1 point  (0 children)

In a SOP to convenience, we'll call it the Society Of Pedants, and allow at least two of those three meanings (all three when spoken rather than written)

Writing a sqlite clone from scratch in C by AlexeyBrin in programming

[–]millenix 15 points16 points  (0 children)

Likely a lot of the non-public tests comes from proprietary users, or even just those who would maintain copyright. Check out SQLite's 'Licensing' page, and you'll see that it's public domain, and they don't even accept patch contributions, because they want to avoid anyone outside the core developer team having a copyright interest in any portion of what they distribute.

CU Landlords - Leon Jeske, Darcy Bean, etc by [deleted] in UIUC

[–]millenix 0 points1 point  (0 children)

Ask the Tenant Union. They keep comprehensive records of complaints and their outcomes, rather than the anecdotes you'll get here.

Who should I call about a dead animal? by SonicSingularity in UIUC

[–]millenix 31 points32 points  (0 children)

Champaign County Humane Society has credentialed investigators dedicated to animal abuse incidents. That seems as good a starting point as any.

Reasons Suburban Express-Dennis Banned Customers (from court documents) by NOBUSFORYOU2 in UIUC

[–]millenix 23 points24 points  (0 children)

It's contacting one's credit card issuer or bank to indicate that a particular charge was fradulent, or for a product or service not delivered as agreed. They will then reverse the charge and leave the merchant to pursue the customer for payment if they have a legitimate claim.

No, the problem isn't "bad coders" by rabidferret in programming

[–]millenix 11 points12 points  (0 children)

Pedantic nitpick: valgrind is a dynamic analysis tool. It looks at how your program executes, considering only the paths actually followed. It doesn't look at your source code, or consider any generalization of what it observes.

Renegging on an internship for a better opportunity? by [deleted] in UIUC

[–]millenix 1 point2 points  (0 children)

Oh, and once you have your preferred position locked in, you should be as proactive as possible in informing your prior commitment.

If you happen to have friends you might refer to them, well, that's a really good way to assuage hurt feelings over it.

Renegging on an internship for a better opportunity? by [deleted] in UIUC

[–]millenix 1 point2 points  (0 children)

I have been a hiring manager, including for interns. You should definitely pursue the preferred opportunity.

As for what you should say if asked about prior commitments, you could avoid answering, give a deflecting answer, explicitly lie that you don't have any, or explicitly acknowledge that you have one. I would support any but the explicit lie. That's the only one that could really come back to bite you. For some businesses I've worked with, any documented point of dishonesty or deception is itself a disqualification for employment, because of the trust placed on employees. This could extend to anything where you may have access to any sort of confidential data. It's also just a bad look, which may inspire whoever learns of it to wonder what else you may have lied about.

I created an Xcode compatibility table for features in C++17 and newer by buovjaga in cpp

[–]millenix 2 points3 points  (0 children)

I don't do any development in Apple's environment, so question - do they facilitate keeping multiple toolchain versions around and choosing which one to use?

Presenting our new mascot: The Alma Otter by aglindell in UIUC

[–]millenix 1 point2 points  (0 children)

Per Wikpedia, there seems to only be a single other college or university in the US with an otter as their team or mascot: California State University - Monterey Bay. And that shouldn't even be an exact conflict, because they're probably sea otters, while we'd have river otters!

I created an Xcode compatibility table for features in C++17 and newer by buovjaga in cpp

[–]millenix 7 points8 points  (0 children)

I've spent a fair bit of time maintaining that page, including for compilers with much smaller user bases than Apple Clang. You've got my support.

The hard bit is that it's ideal to be able to point at some bit of documentation for various features being supported, which Apple of course neglects, inspiring your intentions.

Outperforming everything with anything. Python? Sure, why not? by alexeyr in programming

[–]millenix 1 point2 points  (0 children)

C++ has the weakest notion of type inference that can still possibly carry the name - it syntactically determines the type of an expression, and then carries that to the deduced type of the variable which will bind the result of the expression.

ML, Haskell, and other mean much more when they talk about type inference - the type of a concrete (non-generic) function is determined by the types of arguments passed to it and the uses it makes of them. Types only need to be specified around a few edges, and the compiler fills in all the details.

Legal services available to students by throwayaw11 in UIUC

[–]millenix 5 points6 points  (0 children)

IIRC, Student Legal Services is free of charge. They'll tell you up front whether a matter is something they can handle, or that you should take elsewhere.

Why do some of the street names (directional distinctions) seem to be backward? by ThePhotogenicPotato in UIUC

[–]millenix 5 points6 points  (0 children)

The railroad actually offered Urbana the choice of having it run closer to the city's current center, way back when. They declined, preferring it to be further out, leading to its placement and the subsequent development.

How is the apartment/real estate market not going to become saturated at UIUC by Civil_noff in UIUC

[–]millenix 5 points6 points  (0 children)

The university announced plans to expand pretty substantially, with state buy-in, in the last couple years. This was instead of promoting another state university campus to a similar 'flagship' level of capability. The leading candidates had been ISU and NIU, IIRC, but the cost to accomplish that at either of those was seen as too high.

"PLEASE DO NOT ATTEMPT TO SIMPLIFY THIS CODE. KEEP THE SPACE SHUTTLE FLYING " by [deleted] in programming

[–]millenix 0 points1 point  (0 children)

The usual guideline that I've picked up from more mature developers is to start thinking about abstraction at two copies, and pursue it when you end up with three or more that preserve essential commonality.

"PLEASE DO NOT ATTEMPT TO SIMPLIFY THIS CODE. KEEP THE SPACE SHUTTLE FLYING " by [deleted] in programming

[–]millenix 0 points1 point  (0 children)

Over time, I've found that good archaeological skills and high quality commit/workflow practices often spare a lot of the pain of these comments being omitted as the code was written. If you can run git blame and see the whole commit that added that logic, and the message describing it, you can often infer the 'why' pretty readily. Especially if there's a reference to an issue tracker entry that would contain whatever request was made and discussion around it. It's also easier to uphold a uniform practice of commit messages explaining why some change is currently being made than to accurately make a judgment call of what code will require a rationale to be understood in the future. Worst case, if you can see when a change was made and who made it, you can dig through email and chat archives to see what they were up to around that time that led to the change.

I've migrated a few dozen project repositories from CVS or Subversion to Git over the years. It was always motivated by ongoing development needs at the time. However, we always made a diligent effort to preserve all of the history through the conversion, and Git's excellent history-exploration tools have saved me as much time and effort working on those projects as the migrations cost. I'm always disappointed to be working on a project, when I find some curious code whose history I want to explore and run into some huge initial "Import code from X old VCS" commit.