|
Microsoft has issued a reminder that it is mere months until the desktop app for the browser is retired. "I'm comin' up so you better get this party started"
|
|
|
|
|
Quote: Microsoft has issued a reminder that it is mere months until the desktop app for the browser is retired. Ooh, they are so cutting edge.
|
|
|
|
|
No, they're only cutting IE. Edge will remain.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
There is one code readability trap that is easy to avoid once you are aware of it, yet the trap is pervasive: omitting units. Hello, I'm Bobfurlongs
Maybe I'm missing something...
|
|
|
|
|
I would rather have someone implement a proper type system where the "thing", whether it's a unit of measurement or a "label" like "first name" or "last name" could be strong typed.
Nothing like:
ConcatName(string firstName, string lastName) => $"{firstName} {lastName}";
string firstName = "Marc";
string lastName = "Clifton";
ConcatName(lastName, firstName);
But then again, I live in a different universe of wishes and desires.
And technically, one can actually do what I want in some languages (C# and F#) it's just that one has to go through hoops depending on the language.
|
|
|
|
|
In the 1960s and 70s, maybe a little into the 1980s, fierce language discussions raged. Lots of ideas where quite different from what we know today - i.e. the syntax was not just 'C with a twist', they could be very different. Look at Lisp, APL, Forth, ... Semantics could be of a different world, such as in Prolog and SNOBOL.
One aspect heavily discussed was including units as a first class citizen (along with e.g. type, value, ...). In most proposals, this would be an extension to a type definition, telling which unit tokens are permitted with literals of this type - none not being an option. For all practical purposes, you may consider a unit a multiplication factor applied to a literal, but you would not specify it in absolute terms but relative to other units. Say, if you declare a type float unit m; you could define supplementary unit km = 1000 m, mm = 0.001 m, in = 0.0254 m, mile = 1609.344 m and so on. A valid expression might be like totalDistance = 3 km + 2 mi;
If a type was associated with a unit, you would always have to specify the unit with a literal. For output formatting, you would have to specify the desired unit(s). Some of the proposals for unit handling also included cross-type units, e.g. a type float area unit sqm; you could define a unit m*m; (assuming that m is a defined distance unit); so that area lot = 30 m * 50 m; would be valid, giving lot the value 1500 sqm .
Long ago, I read some quite fierce argumentation favoring or rejecting the inclusion of units in the Algol 68 language. As far as I know, it was finally rejected. I have seen other discussions relating it to other languages, and to the general concept regardless of language. All of that is years back - so long ago that I certainly have no internet link to the discussions. I haven't hear any reference to it for a long, long time.
I must admit that I always thought of it as a great idea. It is a pity that it has been "forgotten", at least as far as I know. I am not aware of any language providing units as a first class citizen. I have written code emulating it, defining constants for the units, so that I can write totalDistance = 3*km + 2*mi; but the star is ugly (here!), and I have no compiler support for always requiring a unit and for limiting the units to those valid for the type.
A language implementing a unit system of this kind would be a more than a complete answer to the author's complaints. After all: He had to pick his examples from three different languages, three ecosystems. If Python is consistent on always measuring time in seconds, Java consistent on always measuring in milliseconds and Haskell in microseconds, all time values would have the same unit blurb attached - which is rather redundant. A unit system would allow the parameter to be given as 300 sec , 300 ms or 300 us in either system (obviously, assuming that sec , ms and us are defined time units).
Actually, I would consider this to be a far more valuable extension to a future C# version than some of the 'features' that have been added in the last few revisions!
modified 22-Mar-22 16:51pm.
|
|
|
|
|
The name of a variable is the wrong position for the unit. It is so easy to define int BlahSeconds = 5; but the function where it is used expects Blurb(int milliSeconds) (by the way, many C# functions allow for the use of TimeSpan - that's a good step forward). Enjoy debugging that crap!
Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!
|
|
|
|
|
One pain point we’ve been hearing about more and more is one that comes up when switching from one tool to another. Now fix the Ctrl+C/Ctrl+V fatigue
Just automatically paste the code in when I look at it What could go wrong?
|
|
|
|
|
Enabling this would only change where I end up being gotcha-ed; but without the easy ability to get back to the prior state.
On the plus side I wouldn’t end up forgetting to include some last minute comments/whitespace cleanup when committing code via my external git client.
On the down side, there are also cases where I find myself deciding that whatever code I spent the last 10 minutes typing is experimental/risky enough, that I want to do a local commit of what I had pre-edit to make rolling back easier. Likewise for cases where I decide I went down a completely wrong path, and want to revert to what I had across at the time of the last save in which case playing games with git (git commit, VS save, git discard changes) is my default solution.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
Over my 16-plus years of experience in running a software development agency and about 32 years in software development, I’ve been asked the same question numerous times: Why do businesses need to continuously invest so much money in software development? He's an optimist
|
|
|
|
|
If we could get rid of sales people promising new features, that would solve half the battle.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
|
|
|
|
|
It's not just new features from the sales nazis.
0) Operating systems change, and as they get "upgraded", old code stops working because the OS drops support for its underlying framework.
1) Frameworks change, or new frameworks are introduced that do old things in new and magical ways, or do new things altogether that weren't available in older versions. (eventually go back to item 0).
2) If no new version is being worked on, devs can revisit maintenance pain points from when initial development was done "in a hurry", and they just had to settle for something that worked more than whether or not it was elegant and maintenance-free.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Well yes, that would be the other half of the battle. But I'd rather deal with those issues since they provide opportunities to address the inevitable tech debt; not the random all but impossible features some lying sales weasel told the customer we could already do to get a sale.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
Yeah, i get that. We just finished a "simple" feature after over 1-1/2 years of development (on just that feature). We got a ration of shit EVERY DAY because "it's taking too long". There was no consideration for the fact that the back-end required changes in order to implement the feature, and then mid-stream, they changed the basic nature of the existing code (I warned the team that this would happen, but everyone said it was nothing to worry about because the code "has been this way for years"). In any case, there are a number of reasons dev is always happening, and this is just one of them.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Half the remaining battle would be resolved with the elimination of user interface trends. As far as I can tell Apple has been driving this for the past decade to the detriment of Microsoft's product usability.
|
|
|
|
|
Perceptual inconsistency and network infrastructure challenges will require new technologies and vast sums of money Or desireable?
|
|
|
|
|
We need to talk about Windows priorities as a product, and I am saying this as someone who wants Windows to succeed TaskSettings.Priority = TaskSettings.Priority--;
|
|
|
|
|
|
A significant rewrite of the Linux kernel's random-number generator is underway, making Linux-based cryptography more secure – especially when running in VMs. 3d6 ought to be enough for everyone
Or 1d20, depending on the roll
|
|
|
|
|
Microsoft says they are investigating claims that the Lapsus$ data extortion hacking group breached their internal Azure DevOps source code repositories and stolen data. They went to all the effort to hack Microsoft, and all you get is Bing?
|
|
|
|
|
A new analyzer should be available in .NET 7 to detect classes that can be sealed. In this post, I'll show some performance benefits of sealed classes. "Signed, sealed, delivered, I'm yours"
But don't put it in your will, as there's no inheritance!
|
|
|
|
|
Either some of those benchmarks aren't being reported correctly, or the compiler has optimized the inner loop into a no-op.
Quote:
Method Mean Error StdDev Ratio Code Size
NonSealed 0.0668 ns 0.0156 ns 0.0138 ns 1.00 64 B
Sealed 0.0307 ns 0.0209 ns 0.0185 ns 0.50 35 B
A duration of 0.0307ns corresponds to 1 clock cycle on a 32.5ghz chip. Even competitive overclockers using liquid nitrogen cooling can't get that fast.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
Microsoft added Audio CD support to the new Windows 11 Media Player app in version 11.2202.42.0. So you can stop using them as coasters again
|
|
|
|
|
Easter is approaching so let's talk Easter eggs: an intrepid and incredibly dedicated user has uncovered a hidden dialog inside Windows 1.0. May I suggest stamp collecting as a better hobby?
|
|
|
|
|
Or possibly making not collecting stamps your favorite hobby.
(That was suggested to me by a guy who claimed that explicitly not being devoted to something is directly comparable to being devoted to something. He was a religious type, though.)
|
|
|
|
|