HNHacker News
TopNewBestAskShowJobs

jongalloway2

1,812 karma · joined May 27, 2011

[ my public key: https://keybase.io/jon_galloway; my proof: https://keybase.io/jon_galloway/sigs/3g5o60xAOls_icmBCDLxOSIZXECa0HB_Lx3aO-GFAp8 ]
submissionscomments
jongalloway2··on Turn your handwriting into a font
Here's a very recent technique that renders an input string based on analysis of handwriting samples: http://visual.cs.ucl.ac.uk/pubs/handwriting/
jongalloway2··on Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries
People commenting here apparently haven't read the comment @cremno linked to:

> Lots of things inside Windows emit ETW events, which is Windows equivalent of DTrace (basically the entire OS, and .NET), it's super useful for debugging performance related events. It's not "Telemetry" like Google Analytics, it's for _you_ to debug your own programs. The easiest way to view the output of them is via WPA, you can watch some videos about it at https://msdn.microsoft.com/en-us/library/windows/hardware/hh...

https://news.ycombinator.com/item?id=11652077

jongalloway2··on Atom 1.8 and 1.9 beta
Why haven't you tried VS Code? Relatively small download, fast install, free and open source. You could install it in just a little more time than it takes to post this question. https://code.visualstudio.com/

Disclaimer: I work for m-dollar. My commission rate is 0.0% and VS Code is free, so I am hoping to make it up in volume.

jongalloway2··on Microsoft Removes 260-Character Path Length Limit in Windows 10 Redstone
Lots of options here: http://superuser.com/questions/256105/how-do-i-delete-a-fold...

If you have 7-zip installed, you can open the parent directory in 7-zip file manager and delete it from there.

jongalloway2··on Microsoft Removes 260-Character Path Length Limit in Windows 10 Redstone
Here's the commit to the .NET coreclr repo: https://github.com/dotnet/coreclr/commit/720732501f1d844d194...
jongalloway2··on Microsoft is cutting 1,000 jobs in Finland as it stops phone production
A much better writeup here: http://www.zdnet.com/article/microsoft-cuts-another-1850-job...
jongalloway2··on .NET Core RC2 – Improvements, Schedule, and Roadmap
There's a lot of customer demand for VB.NET support:

https://visualstudio.uservoice.com/forums/121579-visual-stud...

https://github.com/aspnet/Home/issues/236

http://www.infoq.com/news/2015/04/VB-Core

http://weblogs.asp.net/scottgu/introducing-asp-net-5#after-c...

https://social.msdn.microsoft.com/Forums/vstudio/en-US/22697...

jongalloway2··on dot NET Micro Framework
It's been open source since 2009: https://blogs.technet.microsoft.com/port25/2009/11/16/micros...

https://en.wikipedia.org/wiki/.NET_Micro_Framework

jongalloway2··on Visual Studio Code 1.0
I've been a long-time fan of Notepad++, but it's a text editor. You can extend it to make it work better with specific programming languages (e.g. here's a post I wrote 10 years ago about adding language support http://weblogs.asp.net/jongalloway/creating-a-user-defined-l...) but it's fundamentally a text editor.

VS Code is a code editor. It has IntelliSense (not text-matched autocomplete, IntelliSense), debugging support, git integration, parameter hints, go to definition, code peek, etc. (http://code.visualstudio.com/docs/editor/editingevolved). The goal is to give you code editing features with the speed and simplicity of a text editor.

They're both free and lightweight, so I use them both pretty much daily.

jongalloway2··on Visual Studio Code 1.0
The elevator pitch page is a bit hidden: http://code.visualstudio.com/docs/editor/whyvscode

Excerpt: "For serious coding, developers often need to work with code as more than just text. Visual Studio Code includes built-in support for always-on IntelliSense code completion, richer semantic code understanding and navigation, and code refactoring. VS Code includes enriched built-in support for Node.js development with TypeScript and JavaScript, powered by the same underlying technologies that drive Visual Studio. vS Code includes great tooling for web technologies such as HTML, CSS, Less, Sass, and JSON. VS Code also integrates with package managers, repositories and build tools to perform common tasks to make everyday workflows faster. And VS Code understands Git, and delivers great Git workflows and source diffs integrated with the editor."

jongalloway2··on Visual Studio Code 1.0
Yes, from these presentations 13 days ago:

The Future of Visual Studio (https://channel9.msdn.com/Events/Build/2016/B859)

Building Desktop Apps in Visual Studio vNext (https://channel9.msdn.com/Events/Build/2016/B824)

jongalloway2··on React Native on the Universal Windows Platform
Fixed: https://github.com/ReactWindows/react-native/issues/345
jongalloway2··on Microsoft adds QR codes to BSODs in Windows 10
It's fascinating to see all the other theories here. It's the exact same information, here's the hex code list with system error codes: https://msdn.microsoft.com/en-us/library/hh994433.aspx

My favorite is 0xDEADDEAD

A BSOD isn't interactive, the only thing you can do is search for the error code. Even if users copy down and type the hex code correctly (not at all a given), the search results might be a random ten year old blog post or information about a different version of Windows. The QR Code takes you to an official help page that gives updated, version specific instructions a normal computer user could follow: http://windows.microsoft.com/en-us/windows-10/troubleshoot-b...

I've troubleshot BSOD errors over the phone with relatives. Plain-text error message are a welcome improvement over hex codes.

jongalloway2··on Run Bash on Ubuntu on Windows
No, they demonstrated developing and testing a Ruby application on Windows via the Linux sub-system, then deploying it to Azure (using ssh, mina and git).

Important distinction - they're building support for developing Linux-based web applications into Windows, not hosting websites.

jongalloway2··on Microsoft Edge Platform Data
This is great. Looks like Chrome's stats are sourced from anonymous user tracking, whereas Edge's come from crawling top websites.

It'd be interesting to see an analysis comparing the two. Theoretically, they should be pretty similar, right?

jongalloway2··on Alaska Airlines to Buy Virgin America for $2.6B
Just flew them a week ago, it's assigned seating. You're probably thinking Southwest Airlines.
jongalloway2··on Xamarin now free in Visual Studio, and Xamarin SDK being open-sourced
C# and .NET have been around for 16 years. C# is on version 6. Both are open sourced under MIT license (including runtime, compiler, etc.).

You're welcome to other reasons to avoid C# and .NET, but worrying about their longevity doesn't look like a rational reason.

jongalloway2··on Xamarin now free in Visual Studio, and Xamarin SDK being open-sourced
https://opensource.org/licenses/MIT

Seriously, do people even think before posting EEE on every Microsoft open source release? How exactly does that work?

jongalloway2··on Chocolatey – package manager for Windows
All the discussion is focusing on comparing it to apt-get. Instead, see it as a useful tool for scripted application installs for Windows.

The main benefits, in my opinion, are:

* Scriptable *

For example, here's a script I've used to build a new Windows dev box: https://gist.github.com/jongalloway/ffc3a8c71dfdab4245bc

* Silent, no-BS installers *

Chocolatey packages are supposed to point to silent, no-nagware, no BS installers (specifying the correct command-line args for silent, lightweight installs if needed). Instead of hunting for the right "Download" button, just find the package on Chocolatey.org, maybe check the release history and comments if you're concerned, and off you go.

* Dependencies *

Since Chocolatey is based on NuGet, dependencies are a first class concept. That means that a tool that requires a specific version of imagemagick (random example) would depend on that version, Chocolatey would ensure that the deps are installed first. That has other impacts, such as making it easy to provide a customized version of an existing application (e.g. https://chocolatey.org/packages/EthanBrown.ConEmuConfig) or allowing you to build a meta-package that rolls up several other packages (e.g. "web dev loadout" or whatever).

If you're looking at Chocolatey, I highly recommend Boxstarter, which takes it to the next level with support for all kinds of things you'd want when automating machine builds on Windows: http://boxstarter.org/

jongalloway2··on Have I Been Pwned? Data breach master list with API
Lots of interesting posts in his HIBP series here: http://www.troyhunt.com/search/label/Have%20I%20been%20pwned...

Covers things like how he's handling privacy (esp regarding the Ashley Madison hack), scaling, Azure deployment, etc.

jongalloway2··on Show HN: Corsair Game – Minecraft Meets the Martian in Space
Adding multi-browser support late in the process is like adding error handling into your application code late in the process.
jongalloway2··on Show HN: Corsair Game – Minecraft Meets the Martian in Space
I was able to view in Edge just by changing the user-agent in browser dev tools. Might work in Firefox, too.

Agree, browser user agent sniffing is horrible.

jongalloway2··on Visual Studio Code for Go
The Feb 2016 release has a new setting that (I believe) persists between updates:

https://github.com/Microsoft/vscode/issues/3182

https://code.visualstudio.com/docs/supporting/faq#_how-to-di...

jongalloway2··on Microsoft Acquires Xamarin
Silverlight was essentially a polyfill for back when browsers weren't very capable. I did a ton of work with Silverlight - streaming video, vector graphics, cross-platform front-end apps with back-end integration... all stuff that was pretty hard to do back then, but is now widely available in all modern browsers.

Also, both the JavaScript language and runtime were pretty hard to build reliable, performant apps in back when Silverlight was introduced. The JavaScript language and runtimes have matured considerably since then.

If it had been my say, I'd have kept it for a little longer than they did, but by now I'd say it's no longer necessary.

There were always two camps in the Silverlight world, both inside and outside of Microsoft: those that saw it as a way to make browser-based applications more awesome, and those that saw Silverlight as a way to get away from that yucky HTML/CSS/JS dev. I was always firmly in the first camp, and from that side of things I wouldn't take back a minute I spent on Silverlight dev - I got a jump on video, vector graphics, browser-based apps, etc., long before it was practical to do that in the browser. When those technologies hit mainstream browsers, great!

Note: Microsoft employee but definitely only speaking for myself here.

jongalloway2··on Microsoft Acquires Xamarin
Well, .NET has been around for 14 years now. There have been all kinds of worried predictions about Microsoft abandoning or doing evil things with .NET, but after 14 years they're starting to sound a bit less worrying.
jongalloway2··on Microsoft Acquires Xamarin
http://windows.microsoft.com/en-us/windows-10/update-history...
jongalloway2··on Microsoft Acquires Xamarin
Time to first EEE response: 20 minutes
jongalloway2··on ASP.NET Core – 2300% More Requests Served per Second
They're different kinds of tools - maybe like comparing an RV to a motorcycle, or a guided missile to a sniper rifle. Or a...

Well, anyhow, while at a high level they're both tools that map between database commands and statically typed objects, the approach is very different.

Entity Framework is a full object relational mapper - it's generally the active record pattern, and it supplies things like migrations and entity tracking. The design philosophy is to abstract the database mechanics as much as possible, so you just work with collections of objects (e.g. DbSet<Person>) - add new Person instances to the set, set properties on them, etc. EF converts your intent into database commands (SQL queries in many cases, although EF7 supports some non-relational databases and in-memory storage, too). EF is tracking the state of all your objects, so it knows whether they need to be updated in the data store. That might be fine for a lot of cases - if you're managing a small list of products or customers, working on an intranet app, etc., you're not going to see a difference. I've seen (and fixed) a lot of horrible SQL queries that intranet devs built by concatenating strings; EF is at least going to usually give you decent, secure SQL. (If you're gnashing your teeth right now because EF crushed your dreams in the past, they've done some decent work on SQL generation lately, including some good stuff in EF7). It works pretty well on a lot of apps in lots of dev shops, and can be tuned to work well on big apps if you know what you're doing.

Dapper, and other "micro-ORMs" want to work closer to the metal. Dapper's tuned to taking the results of a database command (SQL query) and populate static objects. There's no entity tracking, state management, etc. Take results of a database query, stuff it into a bunch of object properties, walk away. Because of that, benchmarks showing the performance of select mapping over 500 iterations - POCO serialization are going to run a lot faster, just as (sorry, can't help myself) a motorcycle's going to beat an RV on a race down a tiny dirt trail.

So there may be some slow sites that are running on EF that would be faster on Dapper, but not without evaluating how they're interacting with the database, how they're doing database updates, etc.

Also, to be fair, you can disable a lot of features in EF (or other more fully featured ORMs) and get perf numbers pretty close to micro-ORM's like Dapper. See this comparison: https://github.com/StackExchange/dapper-dot-net/issues/246#i...

However, if you're turning off all the features and hand crafting SQL statements and working with untracked entities, you probably want a micro-ORM, anyways.

jongalloway2··on ASP.NET Core – 2300% More Requests Served per Second
This is the TechEmpower plaintext benchmark (http://frameworkbenchmarks.readthedocs.org/en/latest/Project...). I'd agree that it's kind of a micro-benchmark. There are other TE benchmarks that test more real-world web application scenarios.

My understanding is that the ASP.NET team started at the bottom of the stack and is working their way up. They want to get fundamental HTTP serving basics nailed first. I think that makes sense - they were getting around 170k rps in September, so there were definitely some things to sort out at the basic HTTP serving layer.

jongalloway2··on ASP.NET Core – 2300% More Requests Served per Second
ASP.NET wasn't necessarily slow previously - for example, StackOverflow is running on it, and they're getting some pretty good perf (albeit with pretty beefy machines): http://nickcraver.com/blog/2016/02/17/stack-overflow-the-arc...

Most sites, even relatively high traffic sites, don't serve 50k requests per second.

However, it wasn't granular or modular. For a lot of sites, it was a good balance of features to performance, but in a lot of cases you paid a performance penalty for features you weren't using. That includes the memory footprint penalty - each ASP.NET site loaded up a chunky system.web DLL with the kitchen sink. Back in the day that was fine, but as there are a lot of front-end heavy sites now that use servers mostly as API endpoints, and package managers are pretty standard, devs like to only pay the performance cost (including memory footprint) for the features, middleware, etc., that they're using. That was a big design consideration for ASP.NET Core, and you can really see the results in these specific benchmarks (Techempower plaintext).

← PreviousPage 4 of 11Next →