HNHacker News
TopNewBestAskShowJobs

d2p

738 karma · joined August 8, 2011

submissionscomments
d2p··on Show HN: Chromebook Comparison Chart with +1's and highlighting
Some updates to the Chromebook Chart:

1. Link icons down the left of the table. Clicking these will add that Chromebook to the url, so if you copy/paste the link, it will highlight that Chromebook and scroll down to it on load. This makes it easier to sent a filtered list with a specific recommendation to people! (This link I'm sharing is good CPU models with 4GB RAM, and the Dell 11 I have highlighted!)

2. +1 buttons are now shown next to each Chromebook. Although we still want to focus on facts over subjectiveness; we thought there was room for at least some sort of ratings to be shown. +1s felt a little simpler than a rating system.

As always, do send feedback! :-)

d2p··on Show HN: Smartwatch comparison table
People seemed to like the Chromebook chart, so I thought Smartwatches would be another good table to create.

Not a huge amount available right now; but hopefully the list will grow!

d2p··on Google Chromebook Comparison Chart
This is actually so I can send you to a more appropriate Amazon (UK or US) because Amazon doesn't handle this themselves.

I built a script that uses your timezone to guess if you're near the UK and forwards you accordingly (this was prior to this chart existing). I linked the CB chart to it to avoid reproducing the same functionality.

I can possibly do this in a different way, but since it doesn't cost you anything ending up on Amazon I didn't really think anyone would be upset by it. I just did what was easiest and most useful.

d2p··on Google Chromebook Comparison Chart
note: You could do this entirely "live", and use JS to pull the data live in the page; but I already had the YAML all working from before the GSheet existed, so I chose tojust dump it into the files!
d2p··on Google Chromebook Comparison Chart
I think it'd be tricky, things could be $2 apart and in different "bands". The only real logical bands to me are "Not a Pixel" and "a Pixel"!

I've added RRP, but it's currently unpopulated.

d2p··on Google Chromebook Comparison Chart
I'm adding RRP that should help with this; but it doesn't need a ton of maintenance work :)
d2p··on Google Chromebook Comparison Chart
This is correct. I have a small console app that pulls the doc from Google Docs and spits it into the YAML files on GitHub (it's about 100 lines of sloppy C# code)!

Filtering and sorting is done client-side with a JavaScript jQuery plugin.

d2p··on Google Chromebook Comparison Chart
I can definitely see the value; and I'm planning on adding RRP; but I don't want to get into price comparison and keeping things updated (or scraping). The goal is definitely to just help you see what fits your criteria and available in your market; then you have a smaller list to compare in reviews etc.
d2p··on Google Chromebook Comparison Chart
My biggest concern with RDP is the screen res. I'd love to be able to use Visual Studio from a "dumb client", but the resolutions on the Chromebooks seems to kinda suck. I'm hoping for a 1080p one at least; but choices seem rather limited in the UK :(
d2p··on Google Chromebook Comparison Chart
There is; but some devices aren't listed on Amazon and the prices can vary a lot. I think trying to show reasonable prices is a can of worms I don't want to open; especially given the little variance between them (ignoring the Pixel).
d2p··on Google Chromebook Comparison Chart
Glad you like it!

Seems there's a market for decent spec Chromebook's that don't cost an arm and a leg like the Pixel :( Building this table also confirmed that what I want doesn't exist!

d2p··on Google Chromebook Comparison Chart
Thanks; glad it's useful!

I'm after something decent (4GB/1080p), but after compiling this chart, it's starting to look like what I want won't be available in the UK until early 2015! ;(

d2p··on Google Chromebook Comparison Chart
I'm hoping it'll be easier to add more countries now it's all in a Google Doc (previously it was a pain); but it somewhat relies on being able to easily find the data :(
d2p··on Google Chromebook Comparison Chart
I don't think there's enough variance in price (Except for the Pixel) that it's a huge factor. My goal was to help people in my shoes, that have some requirements (1080p, 4GB, decent processor) to filter down the available list.

I really don't want to get into being a price comparison site. If I add prices, people will constantly be telling me they're wrong. I want to focus on specs/facts that don't change as much as possible.

d2p··on Google Chromebook Comparison Chart
Sorry if it seemed that way; it's not an attempt to make money, but be something useful. Products are listed regardless of whether they're listed on Amazon and I'm working on a tweak to show links to Google Play etc where available (I already had the Amazon code, as this page started off from something else).

I'll make it more obvious there are Amazon links shortly; if I can make some towards the costs/time, great; but that's not the motivation, I started off compiling the table for my own use (I'm trying to decide on a CB) and thought it'd be useful to others.

d2p··on Google Chromebook Comparison Chart
I do have RRP on my todo list, but I don't want to list "current retail" prices because they're constantly changing; and the focus is more on helping people filter the list of options than to be a price comparison.
d2p··on Show HN: Simple Sortable/Filterable Chromebook Comparison Chart
I'm after a new Chromebook, and couldn't find a nice easy way to whittle the list down to just those that matched my requirements and available in the UK.

I started building a table, and decided it could be useful to others; so this tool was born!

d2p··on You have ruined HTML
Not really; I was highlighting that every editor is not going to add support for every new javascript framework's proprietary implementations. There are tons of tools out there for JavaScript that you can run on any plain JavaScript, and almost none for all these syntaxes.

I don't just mean code-completion and debugging, but things like validators/linters and other static analysis tools; code coverage, formatting, refactoring.

It's not a good use of time for every IDE to try and implement every one of these for every crazy JS framework.

If we stick to using languages as they're intended (and defined), we'd have full coverage for these tools.

d2p··on You have ruined HTML
I mentioned this in my post; you don't have to use JSX (I'd advise against JSX), but building html-representing classes in JS seems a far better idea to me.
d2p··on You have ruined HTML
All of my blog posts are. That's what a blog is for? :)
d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
> If you wanted it on the front page then you wanted to drag your entitlement beyond the original discussion onto the HN front page

I wanted it to be noticed, in the hope of getting an "official" response from someone that knows why we don' have it (or whether we'll ever get it). If you don't like that it's on the homepage; you can't blame me for that; the algorithm is based on HN users, not you.

> You need data client side, why is it necessary that they need to take the specific form of your own custom Dart classes mapping exactly to the shape of your JSON?

How is that at all what I'm asking for? I'm asking for to get data from a Dart class out of dart (via a string; I don't care if it's JSON), and then back in. This is a pretty basic need. I want the over-the-wire format to be documented so that I can use non-Dart on the server is required, and to avoid versioning issues. This seems like a pretty basic need for a web app?

> Reflection based automated mappings only have the pretense of type safety with a whole lot of problems

Rubbish. You can crash if the string doesn't deserialise exactly as expected; but then you get strong guarantees about the rest of your codebase that uses these types. Manual mapping is not a viable solution for any reasonable sized application.

> But in a context where mapping-to-classes is not shown to be a necessity ("99% of all webapps" don't do that)

That's garbage; it's not done now, because there's no ability to do that. One of the selling points of Dart is having typing; nobody would turn this down if it was easy and possible.

> and where there are plenty of alternatives, you are blowing up the problem.

All of the suggestion options have been criticised in the thread. Mirror-based is apparently no good for dart2js production code; protobuffers plugin doesn't work on Windows; and everything else needs manual mappings.

> It is a missed opportunity in the Dart ecosystem. Does that really equate to Dart missing basic functionality?

In my opinion; yes. Everyone is sending data back and forth to a server; they shouldn't need to write custom mapping code just to package it into a schema that gives type checking and code-completion.

d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
> It baffles me that people expect it to arbitrarily map JSON to those classes when the associated complexity is well-known

That's because you're adding complexity that nobody is asking for. Deserialising JSON onto a simple PODO with no inheritance, no mis-matching of properrty names, etc., is a pretty trivial requirement. The impelementation complexity is being used as an excuse not to meet a really basic need of a web app.

Please tell me - how am I supposed to get data from a server, into a data structure that will give me code-completion and type checking? Other languages with types do this fine; why should I hand-code a load of mapping of basic values in Dart?

d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
Sorry I didn't identify these; it's rather difficult to know who's on the Dart Team, especially if the profiles aren't linked to profiles. It's rather hard to tell when someone is being a "helpful user" vs someone that actually works on the language.

However, it doesn't change that the complexity being used as an excuse is not being requested. There are many things people would want to do with their deserialisation, and nobody is asking the Dart Team to provide them all. What is really basic, however, is deserialising data into a flat PODO so that we can take advantage of code-completion and static analysis on our code; isolating the mapping problem to a single point.

d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
> Come on. You submitted it, and did not want it on the front page?

I never said I didn't want it there; I said I didn't put it there. You can't tell me I have no right to put something on the homepage when it ended up there because of HN's algorithm (which suggests that others did want it there).

> Yes there is. Dart's reflection APIs are more than adequate for you to implememt such a thing

I was told by someone on the Dart Team: "using mirrors just isn't practical for real applications". If that's not actually true, great! However I suspect if it wasn't, then there would be a Dart-Team owned mirror-based implementation?

> Do you really want to use a web service as an ORM?

My data store is on a server; not in your browser. I need to get data (or some form) from the client back to the server, and vice versa. This is nothing to do with using a web service as an ORM, this is how web apps work - code runs in your browser, and needs to communicate with a server where I can retrieve or persist things. How do you think Gmail marks an email as Read when you open it? Fetches your email? etc.

> Web applications come with no obligation to have a direct JSON <-> typesafe class mapping. Such mappings are ill-defined and bug prone if done automatically or with runtime reflection

This is nonsense. Pulling data from a server into a Map is bug-prone, because if you use it as a map, all of your code can be wrong. If it's converted to a type, then only the mapping can be wrong, and the rest of the code can have static analysis. This is one of the selling points of Dart, and it's totally stupid to throw it away.

People are "ok" without the type safety because they have no other option. This is supposed to be one of the advantages of Dart over JS!

d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
I did; but it makes no sense. That's like saying "Why does Dart even both having classes"?.

If you're writing a client application, you probably have data structures. Some of those data structures you need to send to the server (or receive). When you write code that interacts with those structures, you want code-completion; static analysis, etc.; that's kinda the point of Dart's typing!

d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
The reason for a rewrite is beyond the scope of Dart supporting sane serialisation. There are many reasons; but here is not an appropriate place to detail them.
d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
> Don't update unless you have to?

We just starting hitting a bug in NHibernate where objects are GC'd that shouldn't, and it crashes. It was fixed in a newer version, so we updated. This minor update changed the way a bunch of queries work (optimisations that fail when a certain feature is used), and we've had to roll back. We either have Bug A or Bug B.

> How is abandoned 3rd party code any worse than code you wrote yourself?

I understand code I wrote myself and can easily fix bugs. The lsat thing I want to do when I find a bug in a 3rd party library is spend weeks debugging their code because it's been abandoned. In many cases it's a false economy.

> 3rd party code is almost always a win

I don't think you've worked on enough codebases you didn't write that are years old and had hundreds of dependencies pulled in without any thought; especially in something with no sound type-system like JS :O(

Try upgrading jQuery when you've got 150 jQuery plugins that have been abandoned and/or don't work in the new version of IE :-/

d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
> Present your complaints as though Dart is missing basic functionality

In many peoples opinions, it is. Your opinion is no more fact than mine.

> Assume your use case is representative for a significant amount of other developers

I can assume what I want. I believe it's true. It might not be; but it seems like a pretty basic requirement; and there are many other people in that thread that share the opinion.

> Extend your entitlement to the HN front page.

I didn't put it there, the people did.

> you are very free to make a Dart library that does exactly that

That's the whole point - there is no sensible way to implement this from the outside; that's the whole point of my thread. All of the ways of achieving this suck for one reason or another. Doing this well needs better support from the language/Dart tools.

> the problem you are complaining about simply isn't as big as you think it is

I've still yet to see anyone anywhere post a small code sample showing a Dart class and some simply JSON that works, without a hand-coded mapping from a Map. Is this really what we should be spending our time doing using Google's "new language for the web"?

d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
Depends on your definition of "supported"? JSON uses maps (throwing away one of the big advantages of Dart) and the Serialisation package appears to rely on hard-coded rules or use mirrors (which are slow and apparently not a good thing to use in production dart2js code).
d2p··on Google's Dart doesn't support deserialising JSON (or anything) into Dart Types
> Why are you worried about type-safety?

Because that's one of the huge selling points of Dart?!

← PreviousPage 5 of 6Next →