<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Disqus - Latest Comments for kasajian</title><link>http://disqus.com/by/kasajian/</link><description></description><atom:link href="http://disqus.com/kasajian/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Mon, 06 Feb 2023 02:04:58 -0000</lastBuildDate><item><title>Re: Sussman Explains the End of SICP</title><link>https://irreal.org/blog/?p=11127#comment-6108461747</link><description>&lt;p&gt;Watched the video.  I disagree with him.  Python is awesome.  People get a lot done with it, and it's very approachable.  None of that changes the fact there's value in SICP and general Computer Science nonetheless.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Mon, 06 Feb 2023 02:04:58 -0000</pubDate></item><item><title>Re: How the IBM PC Won, Then Lost, the Personal Computer Market</title><link>https://spectrum.ieee.org/tech-history/silicon-revolution/how-the-ibm-pc-won-then-lost-the-personal-computer-market#comment-5465398102</link><description>&lt;p&gt;Windows was hugely popular by customers by 1987?   Really?&lt;/p&gt;&lt;p&gt;Who wrote this!!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Thu, 22 Jul 2021 10:41:42 -0000</pubDate></item><item><title>Re: Microsoft: 'We Do Not Plan to Evolve Visual Basic as a Language' -- Visual Studio Magazine</title><link>https://visualstudiomagazine.com/articles/2020/03/12/vb-in-net-5.aspx#comment-5402624058</link><description>&lt;p&gt;I'd be curious to know who is using VB.NET not for legacy projects and prefer the language of C#.   I can speculate as to some of the reasons, but I'd be interested in if there's a way for those people to limit how they in write C#, writing it in VB.NET style, limit the scope of what they can do in C# through coding conventions, and by extension, via custom code analyzers.&lt;/p&gt;&lt;p&gt;Imagine a team who prefers VB over C#.  They can migrate and code in C# (as can any VB.NET developer), but they prefer VB.NET for some reason.   What would make their C# experience better and easier to transition?&lt;/p&gt;&lt;p&gt;So a combination of translations tools from C# and custom roslyn analyzers could soften their C# experience.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Sun, 30 May 2021 19:40:59 -0000</pubDate></item><item><title>Re: Monads explained in C#</title><link>https://mikhail.io/2016/01/monads-explained-in-csharp/#comment-4924438203</link><description>&lt;p&gt;I'm sold.  I'll take two.&lt;br&gt;But seriously, i think one thing that would be super cool is.&lt;br&gt;In order to do this, would it be safe to say that currying is required?  That way every function has a single argument, so it's compatible, from the point of view of chaining together?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Sat, 23 May 2020 02:14:02 -0000</pubDate></item><item><title>Re: How To Enable Office Scripts For Excel Online</title><link>https://www.thespreadsheetguru.com/enable-office-scripts-excel-online#comment-4924436028</link><description>&lt;p&gt;I don't get the part that this not JS.   It is.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Sat, 23 May 2020 02:09:07 -0000</pubDate></item><item><title>Re: C# Value Objects, Let Me Count the Ways</title><link>http://primarilysoftware.github.io/#comment-4187735396</link><description>&lt;p&gt;Needs to be a T4 template.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Fri, 09 Nov 2018 22:24:05 -0000</pubDate></item><item><title>Re: Can a Static Field Be Initialized Multiple Times? | Damir's Corner</title><link>http://www.damirscorner.com/blog/posts/20151212-CanAStaticFieldInitializeMultipleTimes.html#comment-4030075664</link><description>&lt;p&gt;Also you can do this:&lt;br&gt;            type.TypeInitializer.Invoke(null, null);&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Thu, 09 Aug 2018 00:14:37 -0000</pubDate></item><item><title>Re: Structural Search and Replace</title><link>http://www.jetbrains.com/resharper/webhelp/Navigation_and_Search__Structural_Search_and_Replace.html#comment-3552082382</link><description>&lt;p&gt;This feature is ignored by JetBrains.   You can tell because the it looks like it's beta quality -- the usability of it is quite confusing.  You can work with easily interactively..    and documentation is very poor.  I think they will be dropping the feature eventually and replace it with something else that they're probably working on.   That's my usual guess when some feature is ignored for a long time.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Thu, 05 Oct 2017 13:33:04 -0000</pubDate></item><item><title>Re: MEF or Managed Extensibility Framework and Lazy&amp;lt;T&amp;gt; – Being Lazy with MEF, Custom Export Attributes etc</title><link>http://www.amazedsaint.com/2010/06/mef-or-managed-extensibility-framework.html#comment-3508706708</link><description>&lt;p&gt;I really wish the author did not introduce the ExportAnimal attribute.   It's not only unnecessary, by using it, the rest of the article becomes difficult to follow for those who would have preferred to use ExportMetadata directly.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Fri, 08 Sep 2017 18:35:00 -0000</pubDate></item><item><title>Re: Functional C# – Composing Through Partial Application</title><link>http://codebetter.com/matthewpodwysocki/2009/04/23/functional-c-composing-through-partial-application/#comment-3486927390</link><description>&lt;p&gt;There's a difference between readable and familiar.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Fri, 25 Aug 2017 16:37:31 -0000</pubDate></item><item><title>Re: Monads explained in C#</title><link>https://mikhail.io/2016/01/monads-explained-in-csharp/#comment-3462387027</link><description>&lt;p&gt;This may be a dumb question, but, in this code:&lt;/p&gt;&lt;p&gt;	Shipper shipperOfLastOrderOnCurrentAddress = null;&lt;br&gt;	var customer = repo.GetCustomer(customerId);&lt;br&gt;	if (customer?.Address != null)&lt;br&gt;	{&lt;br&gt;		var address = repo.GetAddress(c.Address.Id);&lt;br&gt;		if (address?.LastOrder != null)&lt;br&gt;		{&lt;br&gt;			var order = repo.GetOrder(a.LastOrder.Id);&lt;br&gt;			shipperOfLastOrderOnCurrentAddress = order?.Shipper;&lt;br&gt;		}&lt;br&gt;	}&lt;br&gt;	return shipperOfLastOrderOnCurrentAddress;&lt;/p&gt;&lt;p&gt;would it be correct to say that `c` should be `customer` and `a` should be `address` ?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Fri, 11 Aug 2017 02:53:53 -0000</pubDate></item><item><title>Re: Monads explained in C#</title><link>https://mikhail.io/2016/01/monads-explained-in-csharp/#comment-3459090085</link><description>&lt;p&gt;Thank you for this explanation.   My only minor critique is that this explanation has the same problem that others I've seen which is that they don't start the with problem statement.&lt;/p&gt;&lt;p&gt;Explaining monads should sound like your describing a puzzle --  lay out the scenario, explain the constraints and lead the user to the only possible outcome.&lt;/p&gt;&lt;p&gt;For instance, if one were to explain the Y combinator, showing what it does has little value to the reader because they don't understand why you'd ever want to do that.   But if you start with the scenario: "Imagine you have to use recursion because that's the only looping mechanism you have.  And then imagine you have to recurse to an anonymous function..   since it has no name, how do you call it?&lt;/p&gt;&lt;p&gt;Monads should be explained the same way -- what the constrains are (you have to stay fully pure), yet you need to log, or simulate state, or wrap additional info with a value, but without polluting the application code, etc.   I mean, I'm sure someone else can come up with a better scenario.  I'm certainly no expert in Functional programming or monads.&lt;/p&gt;&lt;p&gt;Thank you for listening.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Wed, 09 Aug 2017 04:37:33 -0000</pubDate></item><item><title>Re: Units of measurement in domain design</title><link>https://mikhail.io/2015/08/units-of-measurement-in-domain-design/#comment-3458971266</link><description>&lt;p&gt;On occasion, I find using a T4 template to generate struct wrappers for simple types to avoid the primitive obsession problem to be the simplest approach.   Here's an example.  &lt;a href="https://stackoverflow.com/a/45581710/75129" rel="nofollow noopener" target="_blank" title="https://stackoverflow.com/a/45581710/75129"&gt;https://stackoverflow.com/a...&lt;/a&gt;    Feedback welcome.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Wed, 09 Aug 2017 01:29:37 -0000</pubDate></item><item><title>Re: The Myth of Scandinavian Socialism | Foundation for Economic Education</title><link>https://fee.org/articles/the-myth-of-scandinavian-socialism/#comment-3424367327</link><description>&lt;p&gt;I understand and do not necessarily disagree with the essence of this article, but I don't like the way it's written.  For instance, the claim that it's unfair for someone who doesn't go to college to contribute for someone who does, as a blanket statement, without at least rebutting the opposing view point seems either ignorant or disingenuous.   The counter argument is that a society with more college graduates benefit everyone, including the sanitation worker, is why everyone should contribute to those who want to get educated, is not an poor argument.   It can be countered, as Libertarians do, but the author of this article has not done that.   And another thing, the reason given would also mean there would be no publicly funded education at all, including primary and secondary school.   That would be harder pill for more people to swallow.   But if that's your claim, have the balls to be explicit about it, and try to defend that argument as well.&lt;/p&gt;&lt;p&gt;No, as most Libertarians, you have strong, internally consistent, well-intentioned and moral principles that are not realistic in modern society.   Articles like this preach in an echo-chamber.  It does little to sway the minds of anyone on the fence, much less one of an opposing view-point.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Wed, 19 Jul 2017 09:40:55 -0000</pubDate></item><item><title>Re: How I made LastPass give me all your passwords</title><link>https://labs.detectify.com/2016/07/27/how-i-made-lastpass-give-me-all-your-passwords/#comment-2806373629</link><description>&lt;p&gt;I'm just looking to see if today is a good time to get a lastpass subscription.    They should be giving away heavy discounts.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Wed, 27 Jul 2016 11:29:17 -0000</pubDate></item><item><title>Re: git for Windows mishandling alternate data streams</title><link>http://localhost:1313/blog/2016/07/16/git-for-windows-mishandling-alternate-data-streams/#comment-2794368750</link><description>&lt;p&gt;Windows is a better RDP server and RDP is absolutely essential.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Wed, 20 Jul 2016 20:24:34 -0000</pubDate></item><item><title>Re: LinkedIn has the worst account downgrade workflow ever</title><link>http://dafacto.com/2013/linkedin-has-the-worst-account-downgrade-workflow-ever/#comment-2702516432</link><description>&lt;p&gt;It's really the worst website ever, with even a worse user interface.   It's going to take me a really long time to cancel my account because of the number of steps involved.     For instance, at the present time I have a premium account that I've canceled, but it won't take me back to having a basic account, and because of that, I'm unable to cancel my LinkedIn account altogether.&lt;/p&gt;&lt;p&gt;I cannot wait to not have a LinkedIn account at all.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Mon, 30 May 2016 03:11:01 -0000</pubDate></item><item><title>Re: How to close and delete your LinkedIn account</title><link>http://thelinkedinman.com/how-to-close-and-delete-your-linkedin-account/#comment-2702507132</link><description>&lt;p&gt;I have been unhappy with LinkedIn for quite a while and glad I found this post quickly and easily to learn how to delete my account.   I admit I was a bit on the fence about doing it  ---  that is, I wasn't 100% sure if I was making the right decision.   But, the service really seemed like it's run by hacks.   I'm glad I took the time to read the first paragraph of this blog-post and the rude manner in which the customers are addressed.   It solidified in my mind that I am, in fact, making the right decision to close my account, along with my Premium status, which I have still paid, for the next 6 months.   I want out of there that bad.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Mon, 30 May 2016 02:57:18 -0000</pubDate></item><item><title>Re: &lt; .NET Rocks! /&gt;</title><link>http://www.dotnetrocks.com/?show=1281#comment-2636139018</link><description>&lt;p&gt;I would like to get ONE person from the Node community, preferably someone who contributes to Node itself to agree with you that there is such a thing called "state-fullness feature of NodeJS"&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Thu, 21 Apr 2016 17:15:48 -0000</pubDate></item><item><title>Re: &lt; .NET Rocks! /&gt;</title><link>http://www.dotnetrocks.com/?show=1281#comment-2636136321</link><description>&lt;p&gt;I don't really think there's a difference.   There's nothing about "Node" that makes it stateful any more than any other server-side technology.   In an ASP application I can also put things into global variables, an app-domain, and share them without using redis.&lt;/p&gt;&lt;p&gt;David even mentioned that there's nothing on the internet about this amazing, mind-blowing, feature of Node that allows it to be stateful, and he doesn't know why.   It's because you got it wrong.   Node does not purport to be a stateful web-server.   You're just misusing the technology.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Thu, 21 Apr 2016 17:14:01 -0000</pubDate></item><item><title>Re: &lt; .NET Rocks! /&gt;</title><link>http://www.dotnetrocks.com/?show=1281#comment-2636131292</link><description>&lt;p&gt;David, it would have been better if you didn't use the word threads when you meant clustered apps, which are separate processes, not threads.   I understand that at the 10,000 level they may seem the same, but to those from the Node community who are religious about "threads are bad", simply referring to child processes as "threads" just confuses people.&lt;/p&gt;&lt;p&gt;Thanks for your time.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Thu, 21 Apr 2016 17:10:45 -0000</pubDate></item><item><title>Re: Unit Testing</title><link>http://www.jetbrains.com/resharper/webhelp/Unit_Testing__Index.html#comment-2364573547</link><description>&lt;p&gt;I'm not sure I would call this a regression, but there was a behavior in ReSharper 8.0 that we relied on that's no longer there.   We have a custom unit test category [TestCategory("RunNightly")] which we decorate any unit test with in order to indicate that the test should only run as part of the nightly full automated test suite, and not when the developer invokes to run all-unit-tests in a solution.   The reason is because such tests may use Database access and generally run slow.   It was very convenient in the past to have the ability to right-click on a test and say "run", or from the unit-test window to point to a single test and say run.  Even though ReSharper was configured to ignore and not run this category of tests, it would still do so when one explicitly points to a test and says Run.   It was assumed that doing so overrides any ignored categories.  With the latest ReSharper, you can't do that anymore.   In order to run a unit test that's of a category that's in the Ignore list (Skip tests from category), you have to edit the source and remove or comment out the category annotation.&lt;/p&gt;&lt;p&gt;I'm not sure if this was changed because there was an actual problem with the previous behavior, or maybe it was a bug and people just thought the new behavior is better.   I think the old behavior is actually better.   But if not, how about having an override in the test runner that lets me temporarily run any unit tests I choose to, even if they are marked to be ignored/skiped.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Tue, 17 Nov 2015 11:34:20 -0000</pubDate></item><item><title>Re: Unit Test Sessions</title><link>http://www.jetbrains.com/resharper/webhelp/Reference__Windows__Unit_Test_Sessions.html#comment-2363186490</link><description>&lt;p&gt;Good suggestion.  I tried it with other links and discovered something interesting.  When the file:// is to a .winmerge file it doesn't work.   When it's to a .txt file or .html file, it does work.   I created my own association to notepad called .kenny file, and when i tried that, that didn't work either.&lt;/p&gt;&lt;p&gt;But I found something else odd.   This file:// link happens to be at the end of the output.   When I add any more text after the link, it assumes that text is also part of the link.  For instance, if the link is:&lt;br&gt;file:///c:/folder/file.winmerge&lt;br&gt;and that's at the of the output, and then i add on the next line text such as "xyz", the result looks like this:&lt;/p&gt;&lt;p&gt;file:///c:/folder/file.winmerge&lt;/p&gt;&lt;p&gt;xyz&lt;/p&gt;&lt;p&gt;But the xyz is part of the 'link' that's part of the previous file:// url.&lt;/p&gt;&lt;p&gt;so something in the parsing logic that's attempting to determine where the url ends is probably relying on well known urls.   The advantage to this is that you can have spaces in the url.   This disadvantage is that it the parsing logic has to be aware of all of the possible legal extensions in the system.&lt;/p&gt;&lt;p&gt;If found a workaround: simply add a character that makes the parser stop, the colon symbol.  As such, if I simply add a colon at the end, like so:&lt;br&gt;file:///c:/folder/file.winmerge:&lt;/p&gt;&lt;p&gt;it "fixes" the problem.&lt;/p&gt;&lt;p&gt;I don't know if this is related to Visual Studio 2015 vs. 2013, or it's a ReSharper 10 vs. 9 issue.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Mon, 16 Nov 2015 16:36:16 -0000</pubDate></item><item><title>Re: Unit Test Sessions</title><link>http://www.jetbrains.com/resharper/webhelp/Reference__Windows__Unit_Test_Sessions.html#comment-2357985777</link><description>&lt;p&gt;I hate to use the word "break", but something isn't working the way it used to in the past.   At least in R# 8, we would use Debug.WriteLine to output additional information to the R# unit test session output window.  What we'd output was a file:// url.  When we did that, the output window will show it as a link which when clicked on would open the file.   R# 10 still does that, but with a slight difference.   First of all you have to hold down Ctrl when you click, which is fine.   But the file gets opened into Visual Studio instead of the default application associated with the file.   So if the file:// link to a .winmerge file, it would work.   Example: The output may show.  Error, see WinMerge project: file:///C:/src/TestResults/Deploy_kkasajian%202015-11-13%2008_09_00/Out/expected_vs_actual_mytest.WinMerge&lt;/p&gt;&lt;p&gt;Is there a way to launch open a file in the program that the file is associated with the way it used to work in R# 8?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Fri, 13 Nov 2015 11:39:16 -0000</pubDate></item><item><title>Re: Simplistic JavaScript dependency injection with ES6 destructuring</title><link>http://blog.brightinventions.pl/simplistic-javascript-dependency-injection-es6-destructuring/#comment-2310733300</link><description>&lt;p&gt;Very clever.   I also like Adam's approach using ES 6 modules with Mocktail&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kasajian</dc:creator><pubDate>Fri, 16 Oct 2015 12:43:29 -0000</pubDate></item></channel></rss>