rskar | 5 years ago | on: Ask HN: Why is tax filing in the US so complicated?
rskar's comments
rskar | 5 years ago | on: Ask HN: Why are programming lang ranks on StackOverflow and Tiobe so divergent?
StackOverflow attracts a population of programmers interested in regularly helping out other fellow programmers navigate through whatever arcana of tools and libraries and frameworks and languages etc. It will mostly be this set that takes the survey. It also seems that it is the web/mobile technologists that predominate, which is understandable considering how big a deal web/mobile is. There seem to be so many new&shiny things in that web/mobile sphere, year after year ("Web 2.0" is so early 2000's), and that's certain to keep the arcana wheel going.
Fun factoid: Stack Overflow was founded by Microsoft alumnus Joel Spolsky and developer/blogger Jeff Atwood. Spolsky, while Program Manager on the Excel team, designed Excel Basic and drove Microsoft's Visual Basic for Applications strategy. Atwood says: "I was weaned as a software developer on ... Microsoft BASIC in the 80's... I continued on the PC with Visual Basic 3.0 and Windows 3.1 in the early 90's... I am now quite comfortable in VB.NET or C#, despite the evils of case sensitivity." (https://blog.codinghorror.com/about-me/). Spolsky still seems proud of Visual Basic: "I am always saying 'I could do that in a weekend in Visual Basic' when developers tell me some feature is going to take a year." (https://www.joelonsoftware.com/2018/04/06/the-stack-overflow...). Visual Basic has long been the "most dreaded" language on Stack Overflow surveys, and in 2019 explicitly got dropped from that year's survey. The very fact that VB.NET manages to be in the top 10 of TIOBE, and VB clinging to the top 20 of TIOBE, has often been given as immediate evidence of why TIOBE should not be taken seriously.
rskar | 5 years ago | on: How Many Cops Does New York City Need? (2020)
rskar | 5 years ago | on: Ask HN: Can you still achieve FIRE if you start planning at 40?
So there you have it: The event horizon is based on how realistically you can soldier on and invest 66% of your target retirement income each year for 15 years. Not sure how realistic that is for most people, let alone this hypothetical 40-something in the doldrums.
I'm using 6% for sake of argument for no good reason, but it's the usual rate used in converting a pension into a lump-sum. It is possible to do much better - stock market has been about 8% to 11% on average. So maybe 6% works as a fudge-factor in this sort of planning versus life's many ups and downs.
Anyway, if one had 30 years towards this "$50k FIRE", then the yearly "at 6%" investing is $10k; at 20 years, $21k; 10 years, $56k.
rskar | 5 years ago | on: The Meaning of Null in Databases and Programming Languages (2016)
That's true, only Variants can be Null (Null is a state of Variant); however, Empty is translated to whatever default value makes sense for some of the (non-Object, non-user-defined) data types:
Dim s As String, d As Date, x As Single, y As Double, i As Integer
s = Empty: d = Empty: x = Empty: y = Empty: i = Empty
Debug.Print s, d, x, y, i
(The above compiles and runs, and - no surprise - numerics are made zero, and string made "".)>I'm sure someone has complained about Oracle's idea that empty strings are null values.
I have certainly complained about that: I mean, what's not to love about conflating "this field intentionally left blank" with "no certain value could be obtained for this field"? /s
>...a rant about how nulls are a terrible offense against the true relational model...
By way of Wikipedia, found this: https://www.dcs.warwick.ac.uk/~hugh/TTM/TTM-TheAskewWall-pri.... A fine read. I am left wondering about how OUTER JOINs would be handled without NULLs. I am now also wondering if it was OUTER JOINs that made NULLs seem necessary.
rskar | 5 years ago | on: The Meaning of Null in Databases and Programming Languages (2016)
Dim x
x = Null
Debug.Print "x", x
Debug.Print "x = x", x = x
Debug.Print "x <> x", x <> x
Debug.Print "x = 0", x = 0
Debug.Print "0 = x", 0 = x
Debug.Print "0 + x", 0 + x
(Yep, all of the above result in Null.) Dim y
y = Nothing
Debug.Print "y", y
(That one results in an "Object variable not set" error.)rskar | 6 years ago | on: The Bitter Truth About Olives (2016)
https://www.cnn.com/2019/05/17/health/fruit-juice-sugary-dri...
rskar | 7 years ago | on: Top programming languages in use 2019
1. It is nearly two decades since the mind-share decimation event of .NET occurred, circa 2002: Visual Basic got a major redesign (VB.NET) that was so dramatic it made any conversion process a major non-trivial matter. C#, along with .NET, was the new shiny, and the adoption of it by a major standards organization (ECMA) certainly made it feel like the safer choice if one wanted to continue usage of Microsoft technology. Evenso, if the staff you had could be fine with either VB.NET or C#, then Java was also on the table, and Java might have felt safer to some, since it had a fine track-record since 1995 and was commonly taught in academia (and there was the potential of it also going to a major standards organization - which then did not happen). The only other option left was to stick-it-out then go-it-alone with the first generation of VB, which ended at version 6, released in 1998. Being early days of .NET, VB6 still was the performance champ (it could be compiled to native code, and integer checks could be disabled), didn't require the huge .NET Framework installation, and at first VB.NET didn't have the Edit-and-Continue feature which VB6 had. So with VB6 one had better speed, productivity, and "easier" installers (stepping aside all the vulgarities of COM/ActiveX).
2. In the meantime, .NET matured, C# matured, and VB.NET matured, and of course Visual Studio (for .NET) matured. Various consultancies emerged offering VB6 conversion services, to C# or VB.NET (or even Angular!). Much of the world has moved on from 32-bit OSs and Windows XP. Anyone still reliant on a VB6 code base knows quite well that they're on borrowed time. But now there are options that are cost-effective enough to warrant the transition. Perhaps during that time employers were still able to find staff that could work with either VB6 or VB.NET (or, perhaps, VBA too?); in which case, for their own staffing situation (and whatever their business model), transitioning the last of their VB6 to VB.NET made perfect sense to them.
3. So, at this point in time, modern Visual Basic (the .NET one) is a powerful line-of-business programming language, and its performance is comparable to C# overall. It may be that .NET is C#'s world, and VB just lives in it, but from the perspective of someone with CRUD and website requirements, VB meets the need.
4. Word on the street is that there's a whole lot more VB6 out there still in production environments around the world than many thought possible. Now that VB.NET is stable and the devil-you-know, and with VB6 transition consultants at the ready, and VB.NET can be used with .NET Core (which makes cross-platform thoughts more thinkable than even when Mono became a thing), and staffing concerns not-so-concerning... Well, even programmers need to eat (and raise kids and pay rent/mortgage), so how bad is it really to do a VB gig, and pay the bills?...
5. Cue the Zombie pronouncements and h8trs. Frankly life is so full of serendipities, I'm not bothering with that. Time will tell if the population of VB programmers grows substantially from the few hundred thousand that Microsoft recognized in 2016. In the heydays of VB6, the count could have been several million. See http://www.devtopics.com/the-rise-and-fall-of-visual-basic/, published 2007, for more historical perspective.
6. TIOBE is probably not much use for saying whether language X is somehow more popular than some language Y, but it may still indicate trending interest and usage of X. It would seem that this survey of jobs on dice.com lends some credence to up-ticking trend of VB.NET on TIOBE.
rskar | 7 years ago | on: Did Finland’s basic income experiment work? [video]
"The class of persons able to buy goods and services other than those that satisfy their basic needs. ..."
rskar | 7 years ago | on: Teaching CS in the schools
Even presuming it's gone zombie, it'll be 30+ years before it might scatter to the winds...
(And that's presuming that VBA is finally no longer a thing.)
In the meantime, some of these kids might someday make a living at maintaining VB codebases.
rskar | 7 years ago | on: How the rich get richer – money in the world economy [video]
- There was the Bretton Woods system (c. 1958) which established a kind of gold standard for currencies; the U.S. dollar was pegged at $35 per ounce, and the U.S. owned over half the world's official gold reserves—574 million ounces at the end of World War II. Foreign governments could exchange their dollars for gold.
- As Germany and Japan recovered, the U.S. share of the world's economic output dropped significantly (from 35% in 1950 to 27% in 1969). The French called the Bretton Woods system "America's exorbitant privilege" - i.e. the U.S. could produce a $100 bill for a few cents, but anyone else would first need to produce $100 worth of goods to get one.
- In February 1965 French President Charles de Gaulle announced an intention to exchange its U.S. dollars for gold. By 1966, non-US central banks held $14 billion, while the United States had only $13.2 billion in gold reserve (with only $3.2 billion available to cover foreign holdings). By 1971, the money supply had increased by 10%.
- In May 1971, West Germany left the Bretton Woods system. Other nations began to demand redemption of their dollars for gold (e.g. Switzerland redeemed $50 million, France acquired $191 million). On August 5, 1971, the United States Congress released a report recommending devaluation of the dollar. On August 9, 1971, Switzerland left the Bretton Woods system.
- On August 15, 1971, Nixon directed that the convertibility of the dollar into gold or other reserve assets is to be suspended (with certain exceptions) - hence, foreign governments could no longer exchange their dollars for gold (presumably for the time being, at first).
From this lay-person's perspective, an improving economy and a growing population would naturally bring about an increase in the demand for money. Gold isn't as constraining on the supply of money as some folks may insist (there were already too many greenbacks for the gold in reserve by 1966). Everyday working Joes will still need some cash in their pockets to purchase their day-to-day needs, and the more such "Joes" you've got the more money you'll need to put some into the newer pockets. For that reason alone, fractional-reserve banking becomes a thing; at the end of the day, a "Joe" has a more immediate need for food-clothing-shelter than for gold. So long as banking clients collectively have other more pressing desires than that for gold, the "virtual gold" of its ledger books could suffice.
rskar | 7 years ago | on: Spinoza’s philosophy of freedom
Yet the cited article does not indicate "love" as meaning "suffering for someone or something else" or anything like that. Instead, we get something about "tragic love" (an apparent "contradiction in terms"): "In the Middle Ages, the idea that suffering was in some way productive was very widespread."
Earlier in that article: "So what changed in the Middle Ages? 'There was a transformation in culture,’ said Professor Ashe. ‘A series of church reforms in the 12th century took Christianity from a rather austere view of God the Father to a new focus on Christ's humanity. 'The spiritual lives of ordinary people were recognised, and people were encouraged to have a more emotional and personal relationship with God as individuals. And romantic love - giving yourself to another person - provides a justification, in the medieval moral compass, for the pursuit of self-fulfilment as an individual."
And from there, I would argue, "passion" took on a definition of "love" (and not the other way round).
rskar | 7 years ago | on: Spinoza’s philosophy of freedom
Perhaps, but the GP began with "the word love has lost its meaning throughout the ages". I don't think it has. Perhaps "love" can be parsed into several "flavors" (storge, philia, eros, agape, romantic, loyalty, etc.), but at the core it means still about the same (the "flavors" give hint or detail to motivations/context/obligations for the caring/concern/nurturing/keen-interest).
In the phrase (from above) "truly free persons actively avoid love as in love is a passion", I think here passion means something like "intense emotion". "Passion" has taken on new meanings - barely controllable emotion, intense sexual love, arousing great enthusiasm, etc. Only by way of religious context would a word that meant "suffering" get linked to "charity" love (agape). If anything, its other new meanings seem to be about the kinds of suffering from unsatisfied/unsatiated/frustrated desires.
rskar | 7 years ago | on: Spinoza’s philosophy of freedom
rskar | 8 years ago | on: 'Corporations Are People' Is Built on a 19th-Century Lie
Per above: "Hobby Lobby and Conestoga Wood Specialties' argument for not providing emergency contraception and IUD coverage to their employees can be boiled down to this: Because of the religious nature of our companies, we are entitled to religious freedom exemption from the Affordable Care Act's mandate because of the Religious Freedom Restoration Act — the same exemption that has been afforded to nonprofits with a religious nature."
Granted, it's the people who run (and presumably own) these corporations that truly have religious beliefs. Even so, from a legal standpoint, it's the corporations that bring suit.
rskar | 8 years ago | on: Fizz Buzz in Tensorflow (2016)
Sub Main()
Dim i As Integer
For i = 1 To 100
Dim f As Integer
f = IIf(i Mod 3, 0, 1) Or IIf(i Mod 5, 0, 2)
Dim buf As String
If f = 0 Then
buf = Format(i)
Else
buf = IIf(f And 1, "fizz", "") + IIf(f And 2, "buzz", "")
End If
Debug.Print buf
Next i
End Subrskar | 8 years ago | on: The curious case of high blood pressure around the world
- https://naldc.nal.usda.gov/download/17956/PDF
- https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4396645/
- http://www.journals.uchicago.edu/doi/full/10.1086/691683
rskar | 8 years ago | on: Apple's Lightning Headphone Adapter: Analog or Digital?
rskar | 9 years ago | on: Programming as a Way of Thinking
I think he was trying to articulate how much more expressive/extensive programming languages and libraries (and tools?) have gotten over the years, so that a student can get to do something interesting with much less down-and-dirty arithmetic and arcana.
rskar | 9 years ago | on: ReactOS 0.4.4 Released