HNHacker News
TopNewBestAskShowJobs

michielvoo

176 karma · joined September 15, 2012

submissionscomments
michielvoo··on MSBuild is now open source on GitHub
Yeah, I prefer not to use the built in Visual Studio project templates. Best to always use bin deployed binaries explicitly installed from NuGet packages. In the future (later this year) we can also bin deploy the runtime (.NET Core) and base class library (Core FX).
michielvoo··on Apple MacBook
"we removed the row of LEDs and the light guide panel that distributed light throughout the keyboard and instead placed an individual LED under each key."

I'm looking forward to seeing creative hacks based on this...

michielvoo··on Sweet 16: The 6502 Dream Machine (1977)
It supports both 16-bit and 8-bit mode. I find it quite annoying to have to keep track of which mode a register is in.
michielvoo··on Classic NES Series Anti-Emulation Measures
The STM to DMA registers (using a single CPU instruction to trigger DMA) seems like a valid optimization, unrelated to piracy prevention.
michielvoo··on Summary of Golang Generics Discussion
The arguments used for contrained type parameters can be checked by the compiler, so no casting is necessary at runtime

"... C# does strong type checking when you compile the generic type. For an unconstrained type parameter, like List<T>, the only methods available on values of type T are those that are found on type Object, because those are the only methods we can generally guarantee will exist. So in C# generics, we guarantee that any operation you do on a type parameter will succeed."

Edit (more explicit quote):

"When you say K must implement IComparable, a couple of things happen. On any value of type K, you can now directly access the interface methods without a cast, because semantically in the program it's guaranteed that it will implement that interface. Whenever you try and create an instantiation of that type, the compiler will check that any type you give as the K argument implements IComparable, or else you get a compile time error."

Furthermore (related to the CLR avoiding boxing costs):

"I'm just pointing out that we do fairly aggressive code sharing where it makes sense, but we are also very conscious about not sharing where you want the performance. Typically with value types, you really do care that List<int> is int. You don't want them to be boxed as Objects. Boxing value types is one way we could share, but boy it would be an expensive way."

michielvoo··on Summary of Golang Generics Discussion
Regarding the CLR, the document links to MSDN [1] where it says that "the runtime generates a specialized version".

[1] http://msdn.microsoft.com/en-us/library/f4a6ta2h.aspx

michielvoo··on Firefox.html: Rebuilding Firefox UI in HTML
> What is rendering that HTML if not a browser?

The rendering engine (Gecko). I guess for it to make sense you must separate the drawing engine from the browser, which adds things like tabs, bookmarks, themes and add-ons.

michielvoo··on Get Visual Studio Community 2013 for Free
I compared the Win32_Products that are installed before and after. Even with all checkboxes unchecked, the installer adds 100+ packages. Unfortunately most of these are not listed in the add/remove programs control panel.
michielvoo··on Hacker's Guide to Setting Up Your Mac
Windows Management Framework 5.0 Preview [1] contains early versions of Microsoft's OneGet and PowerShellGet.

OneGet can install applications from repositories, using any number of providers. The preview version comes with a version of Chocolatey [2] built in managed code (C#) instead of PowerShell, but it supports the same Chocolatey gallery (a repository of software packages) and protocol.

PowerShellGet [3] can install PowerShell modules (e.g. make new Cmdlets available on the PowerShell command line). The modules can be delivered as scripts or as compiled .NET assemblies. By default PowerShellGet is configured to use a (closed preview) repository [4], which makes it not very usable, but it's interesting to know what direction it is headed.

As a more practical alternative to PowerShellGet, have a look at PSGet [4], a PowerShell module for installing PowerShell modules, with its own dedicated repository. Hopefully Microsoft's PowerShellGet will support PSGet as a provider in the future as well, the names are certainly confusing.

Desired State Configuration (DSC) [6] is a new (Windows 8.1) capability to configure Windows using a declarative syntax extension of PowerShell v4. It can set registry keys, create files and directories, enable Windows Features, and more. DSC 'resources' are PowerShell modules, so DSC's capabilities can be extended, see this GitHub repository [5] for examples.

Alternatively, have a look at Boxstarter [7]. It can do installation and configuration, and you can host your 'starter script' online and launch it with a single command. Boxstarter will take care of all Windows restarts that might be necessary along the way.

[1]: http://www.microsoft.com/en-us/download/details.aspx?id=4407...

[2]: https://chocolatey.org/

[3]: http://blogs.msdn.com/b/powershell/archive/2014/05/20/settin...

[4]: https://msconfiggallery.cloudapp.net/

[5]: http://psget.net/

[6]: https://github.com/powershellorg/dsc

[7]: http://blogs.technet.com/b/privatecloud/archive/2013/08/30/i...

[8]: http://boxstarter.org/

Be aware that, although most modern package solutions for Windows are using NuGet as a packaging format, using NuGet.exe directly (the application) and with nuget.org (the website) is meant for managing software development dependencies, not installing/updating end-user applications or command-line utilities.

michielvoo··on Postgres full text search is good enough
I was under the impression that Sphinx cannot return documents, only IDs. (The implication is that you need to query your data source if you want to show the results.) Is that correct?
michielvoo··on Ideal Image Slider
Always track interactions (1) with the carousel and evaluate with the client later. You could make a case for a different solution if the statistics show that interaction with 2nd, 3rd etc. content items in the carousel is below acceptable levels (and you've done your best to make it work).

This type of experience (case) can then be carried forward to new projects, possibly convincing designers and clients. Although it might turn out they work just fine, it probably depends on the audience.

[1] Use Google Analytics events to track interactions (next, previous, pause, resume etc.), and add 'campaign' parameters to links inside carousels to compare traffic to product pages originating from carousel links vs. regular menu links (if any).

michielvoo··on XSS in Tweetdeck (don't view in Tweetdeck...)
So powerful, it even supports scripted tweets
michielvoo··on Elasticsearch Raises $70 Million
"In the Java space" meaning deployed in a Java servlet container. Both are stand-alone search servers, exposing their API for search and indexing through HTTP using XML and/or JSON.
michielvoo··on PHP or ASP.net: Did I Do The Right Thing?
Didn't you work at Microsoft for a while? That's about as "all-in" as one can go.
michielvoo··on Microsoft and Xamarin partner
Besides his skills as a software developer, I am impressed with the fact that he has held on to his vision and led his company from Ximian, through Novell, then Attachmate and onto Xamarin.
michielvoo··on Kotlin: A statically-typed language that compiles to JVM bytecode and JavaScript
> but its type system is pretty broken

Can you explain this? Thanks!

michielvoo··on What does `return function *(){…}` mean in JavaScript?
Nicer than "function *" I meant.
michielvoo··on Python 2 vs. Python 3: A retrospective
Question for the professional Python developers: do you (on a daily/weekly/monthly) basis switch between projects in Python 2 and Python 3? Is that hard to do (e.g. do you have to constantly and consciously remind yourself of syntax/semantic differences), or does your mind sort of automatically adjust to the new/old patterns?
michielvoo··on What does `return function *(){…}` mean in JavaScript?
imho C# has a nicer syntax:

  yield return <expression>;
  yield break;
http://msdn.microsoft.com/en-us/library/vstudio/9k7k7cf0.asp...
michielvoo··on TypeScript 0.9 – What’s Improved
Superset[1]

[1] http://www.typescriptlang.org/

michielvoo··on Ikea's New Solar Panels: Sunshine Optional, Subsidies Required
Do you factor in an increase of the price of your home when you sell it?
michielvoo··on Universe may be curved, not flat
It's turtles all the way down.
michielvoo··on Why You’ve Never Read “I Have A Dream”
Actually, it was printed in full yesterday in the Dutch newspaper NRC Next.
michielvoo··on With The Tesla Model S, Elon Musk Has Created A Nice Fossil Fuel Car
In an interview on Dutch TV this week Elon Musk talked about "super charger" stations that were being built in the US and soon in Europe, and that the plan was to use solar panels at the station's sites to generate the electricity needed to charge the Tesla cars.

http://www.youtube.com/watch?v=TMYmSuicTXE

michielvoo··on The NSA, Germany, and journalism
It was on the front page of NRC.next (with a two-page spread inside), a morning newspaper here in Holland.
michielvoo··on How to build a large Angular.js application
Can anyone comment from experience on the testability of Angular.js, that is mentioned in the article? Was it a reason to chose Angular.js over some other framework (if so, which framework)?
michielvoo··on Some killjoys have removed the blink tag from Firefox
I think we shouldn't expect historic pages to work in modern browsers. As long as we can reliably run older browsers we can also view historic pages as they were once rendered.
michielvoo··on Chrome's insane password security strategy
Select the first, scroll down, hold shift and select the last, click the delete button of any row and all will be deleted.

Don't forget to turn of the option to save passwords, and optionally install a password manager extension (I use 1Password).

michielvoo··on EU Parliament supports the possible suspension of U.S. data sharing agreements
But EC is not suspending any data sharing deals (yet), which could have huge economic effects since it could mean that flights to the US are grounded. But it is my understanding that the US would be the one that would order flights to be grounded if the EU no longer meets the requirements of the data sharing agreement.
michielvoo··on The Rise and Fall and Rise of Java [video]
Speaker is an analyst and uses several numbers (Tiobe, mailing lists, Stack Overflow, GitHub) and examples (Netflix) to show:

a) that Java is over its peak because it has to tolerate much more languages (JavaScript, Ruby) then in 2006

b) that Java is not in decline, but at least sustaining its popularity and if you include Android you could say the 'Java semantics' is growing.

Speaker continues with some examples of frictionless technology stacks/products, and argues that Java is not that. To sustain growth it needs less complexity, better package managements, compatible licensing, low cost Java hosting.

Finally, some languages got popular by the web frameworks (e.g. Node.js, Django, Rails). But Java web frameworks are too fragmented (due to its long history as a popular language and platform). Java should take its cues from those.

Page 1 of 3Next →