Aceticon

joined 1 year ago
[–] [email protected] 3 points 7 hours ago* (last edited 7 hours ago)

I was already a dev in a small IT consultancy by the end of the decade, and having ended up as "one of the guys you go to for web-based interfaces", I did my bit pushing Linux as a solution, though I still had to use IIS on one or two projects (even had to use Oracle Web Application Server once), mainly because clients trusted Microsoft (basically any large software vendor, such as Microsoft, IBM or Oracle) but did not yet trust Linux.

That's why I noticed the difference that Red Hat with their Enterprise version and Support Plans did on the acceptability of Linux.

[–] [email protected] 3 points 11 hours ago

Just to add to this, early on there was no such thing as kernel modules, so you had to compile your own kernel with the hardware support you needed for anything beyond basic (if I remember it correctly, it was only basic processor stuff, keyboard and text mode VGA) hardware support.

[–] [email protected] 3 points 11 hours ago

CRT monitors internally use an electron gun which just fires electrons at the phosporous screen (from, the back, obviously, and the whole assembly is one big vacuum chamber with the phosporous screen at the front and the electron gun at the back) using magnets to twist the eletcron stream left/right and up/down.

In practice the way it was used was to point it to the start of a line were it would start moving to the other side, then after a few clock ticks start sending the line data and then after as many clock ticks as there were points on the line, stop for a few ticks and then swipe it to the start of the next line (and there was a wait period for this too).

Back in those days, when configuring X you actually configured all this in a text file, low level (literally the clock frequency, total lines, total points per line, empty lines before sending data - top of the screen - and after sending data as well as OFF ticks from start of line before sending data and after sending data) for each resolution you wanted to have.

All this let you defined your own resolutions and even shift the whole image horizontally or vertically to your hearts content (well, there were limitations on things like the min and max supported clock frequency of the monitor and such). All that freedom also meant that you could exceed the capabilities of the monitor and even break it.

[–] [email protected] 5 points 11 hours ago* (last edited 11 hours ago) (2 children)

In the early 90s all the "cool kids" (for a techie definition of "cool", i.e. hackers) at my University (a Technical one in Portugal with all the best STEM degrees in the country) used Linux - it was actually a common thing for people to install it in the PCs of our shared computer room.

Later in that decade it was already normal for it to be used in professional environments for anything serving web pages (static or dynamic) along with Apache: Windows + IIS already had a lower fraction of that Market than Linux + Apache.

If I remember it correctly in the late 90s RedHat started providing their Enterprise Version with things like Support Contracts - so beloved by the Corporates who wanted guarantees that if their systems broke the supplier would fix them - which did a lot to boost Linux use on the backend for non-Tech but IT heavy industries.

I would say this was the start of the trend that would ultimately result in Linux dominating on the server-side.

[–] [email protected] 20 points 2 days ago (2 children)

It looks a lot like in a way History is repeating itself: the Democrat Establishment in the US (who are a hard neoliberals, not lefties) fielded directly and without a Primary a guy like Biden who is less than in his prime and even supports an ethno-Fascist regime commiting Genocide (and, more importantly, is unwilling to walk back on that support even to improve his odds of winning against Trump, which is what we are being told is the most important thing in the World) all of which is making it far more likely that the Fascists will get power.

There are vast contradictions between what we are being told is the danger of Trump getting elected and the DNC and Biden persistently making choices that increase the chances of Trump getting elected and not walking back on those.

Surelly if "Stop Trump" is the most important thing in the World for them, the Democrat Establishment too would be walking towards the wishes of the electorate not just trying to push the electorate to do all the walking towards the wishes of the Democrat Establishment.

[–] [email protected] 1 points 2 days ago* (last edited 2 days ago)

Well, I got the ones I needed (I got 2, one for me and one for the person I was configuring a Mini-PC for) from China with Aliexpress, and in my experience you can usually find adapters for old tech directly from China even when stores in the West don't have those.

In fact I was curious when I was writting this comment and I checked and it turns out they also have Floopy Disk USB adapters and, funnilly enough, they costs the same as the USB DVD Reader/Writters (which makes some sense as eventually the whole functionality is integrated and the cost is mainly the mechanical parts and assembly, plus those things are probably small manufacturing runs).

Most electronics factories over there aren't exactly designing top of the range modern consumer electronics, but they're perfectly capable of designing even complex electronics products (in my experience, they have more trouble with software than hardware) - hence for example there are several Single Board Computer designers over there - and they're so many that they're constantly coming out with quirky products while competing with each other (and not all of which is stuff with lots of LED lights and which play some crappy jingles), so I guess it makes sense somebody over there would've created adapters for old storage media (in fact I was curious again, so I looked for and indeed found a "Vinyl player with USB recording").

As long as Electronics in China keeps having the sort of competitive environment and lots of little factories like it was in the West before the 80s, I reckon somebody over there will keep on coming up with adaptors for old storage tech.

[–] [email protected] 1 points 3 days ago

If it's part of the Requirements that the frontend should handle "No results found" differently from "Not authorized", even if that's just by showing an icon, then ach list of stuff which might or not be authorized should have a flag signalling that.

(This is simply data analysis - if certain information is supposed to be shown to the user it should come from somewhere and hence the frontend must get it from somewhere, and the frontend code trying to "deduce it" from data it gets is generally prone to the kind of problem you just got because unless explicitly agreed and documented, sooner or later some deduction done by one team is not going to match what the other team is doing. Generally it's safer just to explicitly pass that info in a field for that purpose to avoid frontend-backend integration issues).

Authorization logic is almost always a responsibility of the backend (for various reasons, including proper security practices) and for the frontend it's generally irrelevant why it's authorized or not, unless you have to somehow display per-list the reason for a it being authorized or not, which would be a strange UI design IMHO - generally there's but a flag in the main part of the UI and a separate page/screen with detailed authorization information - if the user really wants to dig down into the "why" - which would be using different API call just to fill in that page/screen.

So if indeed it is required that the frontend knows if an empty result is due to "Not Authorized" rather than "No results found" (a not uncommon design, though generally a good UI design practice is to simply not even give the user access to listing things the user is not authorized to see rather than let the user chose them and then telling them they're not authorized to do it, as the latter design is more frustrating for users) that info should be an explicit entry in what comes from the backend.

The JSON is indeed different in both cases, but if handled correctly it shouldn't matter.

That said, IMHO, if all those 3 fields in your example should be present, the backend should be putting a list on all 3 fields even if for some the list is empty, rather than a null in some - it doesn't matter what the JSON is since even at the Java backend level, a List variable with a "null" is not the same as a List variable with a List of length 0 - null vs empty list is quite a common source of mistakes even within the code of just the one tier, though worse if it ends up in API data.

Who is wrong or right ultimately depends on the API design having marked those fields as mandatory or optional.

[–] [email protected] 1 points 3 days ago* (last edited 3 days ago) (2 children)

That sounds like an error in the specification of the client-server API or an erroneous implementation on the server side for the last version: nothing should be signaled via presence or absence of fields when using JSON exactly because, as I described in my last post, the standard with JSON is that stuff that is not present should be ignore (i.e. it has no meaning at all) for backwards compatibility, which breaks if all of the sudden presence or absence are treated as having meaning.

Frankly that there isn't a specific field signalling authorized/not-authorized leads me to believe that whomever has designed that API isn't exactly experienced at that level of software design: authorization information should be explicit, not implicit, otherwise you end up with people checking for not-in-spec side effects like you did exactly for that reason (i.e. "is the no data being returned because of user not authorized or because there was indeed no data to retunr?"), which is prone to break since not being properly part of the spec means any of the teams working on it might interpret things differently and/or change them at any moment.

[–] [email protected] 2 points 3 days ago

Well, the more light you reflect out the better (I would expect that, for example, darker color curtains would be a problem) and ideally you want that whatever light does get converted into heat does so outside.

As it so happens, were I live the heat has been a problem in the Summer since well before AC was invented, so roll-up external shades are standard for all houses and apartments and that stuff definitely works if used as I described it.

[–] [email protected] 3 points 3 days ago* (last edited 3 days ago) (4 children)

If I remember it correctly, per the JSON definition when a key is present but not expected it should be ignored.

The reason for that is to maintain compatibility between versions: it should be possible to add more entries to the data and yet old versions of the software that consumes that data should still continue to operate if all the data they're designed to handle is still there and still in the correct format.

Sure, that's not a problem in the blessed world of web-based frontends where the user browser just pulls the client code from the server so frontend and backend are always in synch, but is a problem for all other kinds of frontend out there where the life-cycle of the client application and the server one are different - good luck getting all your users to update their mobile apps or whatever whenever you want to add functionality (and hence data in client-server comms) to that system.

(Comms API compatibility is actually one of the big problems in client-server systems development)

So it sounds like an issue with the way your JavaScript library handles JSON or your own implementation not handling per-spec the presence of data which you don't use.

Granted, if the server side dev only makes stuff for your frontend, then he or she needs not be an asshole about it and can be more accomodating. If however that data also has to serve other clients, then I'm afraid you're the one in the wrong since you're demanding that the backwards compatibility from the JSON spec itself is not used by anybody else - which as I pointed out is a massive problem when you can't guarantee that all client apps get updated as soon as the server gets updated - because you couldn't be arsed to do your implementation correctly.

[–] [email protected] 13 points 3 days ago* (last edited 3 days ago) (3 children)

Around here, Portugal, were every Summer the temperature exceeds 40 C for at least some days in August, we have outside rollup shades on every window, so one of the tricks is to keep the shades down and and the windows closed during the hottest and sunniest parts of the day, at the very least the afternoon.

Then at night you open the windows and let the cooler night air in (even better if you do it early morning, around sunrise, which is the coolest time of the day).

Note that this doesn't work well with curtains or internal shades, because with those any conversion of light into heat when the light heats the shades/curtains (as they're not mirrors and don't reflect all light back) happens inside the house and thus that heat gets trapped indoors.

[–] [email protected] 11 points 4 days ago (2 children)

A USB DVD Reader/Writer costs 15 bucks. (I'm too used feel like that meme, and then at some point I needed to find a way to get a Mini-PC to read CDs, and as it turns out it's quite simple - I reckon it was more a case of "can't be arsed to do it" than a case of "can't do it").

view more: next ›