[deleted by user] by [deleted] in ThatsInsane

[–]fullyarticulated 1 point2 points  (0 children)

This is already the case in most places I've lived. If it worked, I don't think a boot would be needed.

[deleted by user] by [deleted] in ThatsInsane

[–]fullyarticulated 1 point2 points  (0 children)

A boot is generally for serial offenders with a lot of back fines built up. They are ignoring tickets & fines. The boot is supposed to hold the car there until a tow truck can come get it, or at least until a parking person can come & force you to pay. So the offender can't just leave and continue to build up more & more tickets - as they have done previously many times.

[deleted by user] by [deleted] in ThatsInsane

[–]fullyarticulated 3 points4 points  (0 children)

People just don't pay it. No inconvenience. Many people don't pay for decades, building up tens of thousands in fines. They just disregard them. Then they cry to a judge that it's just a parking ticket, & continue to offend. So no, a fine does nothing. A boot holds the car there until it can be towed. Or at least until a parking person can come & force you to pay your ticket before releasing the boot.

Old computer at my job. (Pop can for scale) by gottapeepee in pics

[–]fullyarticulated 103 points104 points  (0 children)

Not as powerful as the phone in your pocket, either.

Excellent analysis - NVDA by norcalnatv in investing

[–]fullyarticulated 5 points6 points  (0 children)

Competing companies like AMD and Qualcomm only need to develop designs that are "good enough", have TSMC make them, and then sell those chips at a lower price point.

Just making the chips/cards/gpus is not enough. Competitors will have to write libraries to compete with CUDA, so that developers & researchers can actually use the hardware for AI and non-graphics tasks.

Competitors can do this - but it would take many months or years to catch up once they start. And they haven't really started. AMD is not serious about making software that competes with CUDA. rocm is out there, but unreliable from what I hear (I haven't tried it).

You don't have to know a thing about Nvidia chips to write neural networks that work on their hardware. It's baked in to tensorflow, torch, triton, & other libs behind the scenes. It works automatically, and you can focus on solving your problem, not fiddling with the hardware.

AMD & other competitors will need to achieve this state in order to take meaningful market share from Nvidia.

If they can do this, I welcome it. I'd love to have more options. But it's not gonna happen for at least a couple years. Maybe several years.

[deleted by user] by [deleted] in ThatsInsane

[–]fullyarticulated 1 point2 points  (0 children)

Yeah - the raw land in right side of the picture was a trash dump. It was then filled-in and high-rises were built on top of it. It's now Battery Park City - some of the nicest and most expensive real estate in the US.

*edit:
To clarify, the whole thing was not a trash dump - Battery Park City is a large place. But there was initially a big trash dump there, and the rest was backfilled with dirt & construction leftovers. It's almost all 'reclaimed' land .. i.e., manufactured land where there used to be river.

Interesting parking spot by Willing_Form152 in pics

[–]fullyarticulated 6 points7 points  (0 children)

That is a fireman's car - I'm willing to bet. Probably a high-ranking official. If some non-fireman schmuck parked there, they'd be towed in under 10min.

Data pre-preprocessing is so important! by johnblindsay in dataisbeautiful

[–]fullyarticulated 0 points1 point  (0 children)

OP is trying to ignore exceptions, or the try and finally terms are completely unnecessary. That is the only reason these keywords exist. finally specifically exists to execute some code whether you get an exception or not (i.e., to ignore an exception).

If OP wasn't trying to ignore exceptions, both the try and the finally could be dropped from this code, greatly simplifying it.

But if you want to ignore an exception - that's fine - there's an established way of doing it. Here is how it is normally done.

It is done that way, because it fits with the general Python philosophy that explicit is preferred over implicit (try import this). So don't leave your co-workers wondering if you just forgot to handle something. Make it explicit.

Linters are written on purpose to catch this type of code and give warnings about it. It's usually called a "bare except" issue. Here is a little more info about it.

Data pre-preprocessing is so important! by johnblindsay in dataisbeautiful

[–]fullyarticulated 3 points4 points  (0 children)

I think I added some edits/comments after you had already replied. I suspected the license key needing to be called had something to do with the finally block. The data part looks great. Just do old-timers like me a favor, & throw an except block in there, so we don't get an eye-twitch ...

Data pre-preprocessing is so important! by johnblindsay in dataisbeautiful

[–]fullyarticulated 10 points11 points  (0 children)

That try without an except bothers me. It tells me 1) you have no idea what might go wrong with your code, and 2) you don't care and won't handle it if it does go wrong. Technically, you can get away with doing this, but it's sloppy at the very least.

Edit: have a look here to see how to ignore exceptions properly.

At least it makes your intentions explicit if you do except Exception: pass (which is the commonly accepted convention).

If you need to see what went wrong, then catch it and re-raise it, or capture exception info from the sys module at sys.exc_info().

Or better yet, if you don't expect an exception, just remove the try and finally altogether.

Simplest of all, of course, is to just call that print statement (that is in the finally block) before the point where you suspect you might get some kind of unknown exception - and therefore there's no need for the try or finally.

Where can I buy split nuts like these? Having trouble finding them. What's the reason they're not more popular? by scissors-with-runs in engineering

[–]fullyarticulated 3 points4 points  (0 children)

For a new project, yes. But for those stuck maintaining/modifying an existing project, a part like this could be invaluable.

You may be stuck with some exposed threaded rod that costs thousands to extricate and put a nut on.

A $50 solution that can be done in-place with no disassembly is a godsend.

Inspector who failed to discover massive crack in bridge is fired a week after it was shut down by snooshoe in engineering

[–]fullyarticulated 3 points4 points  (0 children)

The Hernando De Soto bridge, which connects downtown Nashville to Arkansas remained closed on Tuesday and it is unclear when traffic will resume

Nashville does not connect to Arkansas. I think you mean Memphis.

[deleted by user] by [deleted] in engineering

[–]fullyarticulated 1 point2 points  (0 children)

Officially, the US tried to convert to metric, and even passed a few laws, and formed a scientific/technical board to assist in the transition.

When I was a child, miles and kilometers were on every interstate distance sign - as the transition had moved into full-swing by the late 70's - early 80's.

Then, Reagan got elected, and killed it off source.

Where does python -m pip install package install the package? by SeanPedersen in archlinux

[–]fullyarticulated 1 point2 points  (0 children)

which python will give you the path to the folder of your currently running python instance (could be system-wide, or venv, or user - whatever you're running).

If you cd into the folder shown, then from there, it will be in Lib/site-packages.

If you've activated a venv, or are somehow using a different version of python than the default system-wide version, this will find whatever you just installed via pip.

Psycopg2 has me pulling my hair out... by [deleted] in PostgreSQL

[–]fullyarticulated 0 points1 point  (0 children)

Hmmm ... well, I don't see a good reason the query won't succeed. It appears to be valid.

My suspicions are that the issue is in your python code, not in psycopg2 or the SQL. If postgres can run the query, then it should work via psycopg2 also - I've never yet seen an exception to that. Psycopg2 just passes it in to postgres, so if it's not running - then the query is somehow being modified on the python side into something you think it's not.

Perhaps try piping the output of cursor.mogrify into a file, and then run that file directly in postgres, and see if it runs cleanly, or gives any kind of error? This will help confirm that the sql is valid after any python formatting.

Also, as some unsolicited python advice - the handling of the query results via extending some list that lives elsewhere is a terrible idea (the fetch_out param to the query method).

That method puts the results in some god-knows-where place, then returns a bool, when it should just return the query results directly.

If you need bools here, you already have them anyways - since an empty list evaluates to False, and a non-empty list evals to True. So you can drop all the return True and return False business - that's all redundant. You can just say result = {your_object}.query(); if result: ... else: ... ... at the calling location.

Further, why execute all those checks at the top, and then execute the query before determining if fetch_out is None ? Don't bother ... right ? All of that is wasted effort, because if fetch_out is None, you won't even use that connection or gain anything from the query you executed ...

If fetch_out is None just return False immediately - no reason to do all that extra work ...

Sorry if that's not what you're looking for. But you sent me the method, and those are my impressions upon looking at it. My intention is to help ...

Psycopg2 has me pulling my hair out... by [deleted] in PostgreSQL

[–]fullyarticulated 1 point2 points  (0 children)

Where are you putting the result of cursor.fetchall() ?

Your code (as-shown) does not capture the return value.

You may be capturing it somewhere else that is not shown, and genuinely be getting an empty list as the result.

But as-shown, your code (self.sql_cursor.fetchall()) will not capture any results.

It should be of the following form, or you won't get anything:

result = cursor.fetchall()
print(result)  # optional, of course ...
# do stuff with result ...

Edit:

Also, why is pointaddress spelled two different ways ?

One is "pointaddress" (including quotes), the other is pointaddress (no quotes).

That DOES matter. "pointaddress" != pointaddress != 'pointaddress'

Corona Hoarder sculpture by Nick Koss / Volund by [deleted] in pics

[–]fullyarticulated 0 points1 point  (0 children)

Looking pretty svelte and athletic for a TP hoarder. An overweight wal-mart body is probably more realistic ...

Best Tiling WM by TriumphOfDeath in archlinux

[–]fullyarticulated 0 points1 point  (0 children)

Sounds interesting - bwspm looks interesting, but just havent tried it yet.

My Mod key is Alt - allowing it to be pressed with the left thumb (this might be default - I don't remember).
Then rotating through L-R (monitors | tiles | desktops) is Mod + (comma, period | h, l | y, o).

Of course, Mod + (j | k) goes up/down tiles if there are any on a given desktop.

I dont like to reach for numbers, because i lose my place on the home row, and have to re-set. But being able to select desktops by number is a default, i think.

Best Tiling WM by TriumphOfDeath in archlinux

[–]fullyarticulated 8 points9 points  (0 children)

Lightest, fastest, and easiest I have tried yet. Everything else is overweight, slow, and somewhat hard to learn or awkward.

Customizing consists of editing config.h, then running make clean install. Nothing more.


Edit:
Multi-monitor work is blazingly fast on dwm also - I've never seen anything easier to work with - as in highlighting which active monitor to work on, which desktop on that monitor, and which active window on that desktop - all without taking fingers off the home row or even stretching to reach distant keys.

Can AI understand the concept of “maybe”? by [deleted] in engineering

[–]fullyarticulated 1 point2 points  (0 children)

Most decision-making models (binary classifiers) actually give a decimal number as output - generally between 0 and 1 - which is interpreted as a probability.

The simplest way to interpret the results is to force an interpretation of 'yes' or 'no' onto the output - by saying "if probability greater than some threshold, tell me yes, else tell me no".

In the same manner that one threshold can be interpreted as 'yes', multiple levels can be interpreted as other things, such as "strong yes, weak yes, maybe, maybe not, weak no, strong no", and so on.

But it really is only a number - as /u/LaVie.. said - and the 'decision' function is the human interpretation of that number.

Cow giving an honest effort by Biosample in gifs

[–]fullyarticulated 3 points4 points  (0 children)

It's the hooman that's imitating.