Ask HN: Anyone Here Using Flutter? - <AUTHOR> I just got started with making apps using Flutter, sort of as a tutorial to the app-building process, yet searching online, the resources are far too few, and its presence on HN jobs almost negligible. Correct me if I'm wrong, but as I understand, React Native/Expo is the most popular cross-platform app-building framework, while Xamarin is steadily increasing its share among bigger firms who can spare the buck. Which leaves flutter, the more convenient of the three for MVP (strictly my opinion), between a rock and a hard place. Do you think Flutter has a future in app building, or is it going to go the way of other Google relics into the abyss? <comment><USER2> HN can be hostile against Dart and Flutter (and Java, C# and other non-hipster languages), but there is no technical reason for it. JavaScript is a mediocre tool for software development, but for some reason people think they will be using it until the end of times.

If Flutter works for you, keep using it. It is open source (!= Google service), it is productive, and there are no signs that Google is abandoning it; on the contrary, it seems that more efforts are put behind: Dart language and tooling improved a lot since 2.0 (+ non-nullable types coming soon), Flutter getting support for Web, Mac and potentially other platforms...

</comment><comment><USER3> As far as I know, Flutter dev evangelists are trying trying their best to push it into massive adoption. One thing you may fail to see is the reason for RN's massive adoption, and those are

1\. It was released before Flutter, 2015 compared to Flutter's 2017

2\. No need to learn a new language. JavaScript is JavaScript. The initial thought of having to learn Dart (which is very similar to JavaScript and Java, but who'll know till they use it?) is a push back

3\. RN's similarity to React. It is easier for devs who'd been using React to jump into it, and React has more adoption than Angular

In the end, users don't really care whatever you use. Does your app do what they want/expect?

<comment><USER4> Yeah, JavaScript and even React have such a critical mass of developer familiarity at this point that I don't see how they could be unseated without some really killer new advantage. Flutter's advantage is... it's a bit faster? Maybe? Maybe the warts when it comes to spanning the platform gap aren't quite as bad? I think it's going to take more than that.

One opportunity could be desktop. If Flutter can beat React Native to that (doesn't really look like it will so far), that could be a killer app. Right now people use Electron, which carries a couple of significant downsides.</comment></comment>


Show HN: Learn How to Build, Launch and Run a Shopify App - <AUTHOR> https://courses.iangrabill.com/how-to-build-a-shopify-app <comment><USER2> Correct me if I am wrong, but this looks like an ad

</comment><comment><USER3> Do you have any stats on the Shopify App Store? e.g. revenue and users for a few successful apps?

</comment><comment><USER4> Step 1) Consider magento Step 2) Implement anything else

</comment><comment><USER5> How about a free guide: [https://help.shopify.com/en/partners/making- apps](https://help.shopify.com/en/partners/making-apps)</comment>


How to Hustle SXSW for Fun & Profit - <AUTHOR> http://www.daniellemorrill.com/2012/02/how-to-hustle-sxsw-for-fun-profit/ <comment><USER2> If anyone's interested, I did my take on how to get the most out of SxSW, here:

<http://sivers.org/sxsw>

But the best part is that I crowd-sourced the question out to all my musician clients (+ friends like Tim Ferriss and some record label people) - and they all contributed their opinion on video. All these are linked in the post, too.

(I curated it, so the ones in the post there are the best of the best. At very least, click the "Big Kenny" one.)

It's very musician-centric, but maybe you'll find it useful.

<comment><USER3> I was a volunteer at SXSW and watched your talk a couple of years ago (used to live in Austin). Loved it.

Personally, my favorite part of SXSW is after the Interactive portion is over -- just kicking back and enjoying the concerts at the music festival.

</comment></comment><comment><USER4> I'm exhausted just reading it.

<comment><AUTHOR> Sorry, wasn't written for normal tldr blog consumption but so many people were telling me to blog it I wanted to share.

tldr version: calendar is fluid, RSVP to everything, every person is an opportunity, don't forget you're there to get leads, brand plays, take care of your team

<comment><USER4> I wasn't referring to the amount of content or its complexity. I meant it sounds like an exhausting time.

I have a brother-in-law who loves that stuff. But it's not for me; I have too much of my father in me.

</comment></comment></comment><comment><USER5> > If you are going to get ridiculously drunk, and especially if you are > considering using substances that the United States considers illegal, > PLEASE DON'T WEAR YOUR COMPANY TSHIRT. It is every PR person's nightmare. > Please just no.

These are really great tips for keeping it both casual and professional. Finding that balance is important at events like SXSW. I wish I was going this year.

</comment><comment><USER6> Tangentially related - Sketchnote Guide to Speaking at SXSW

[http://dribbble.com/shots/448947-Sketchnote-Guide-to- Speakin...](http://dribbble.com/shots/448947-Sketchnote-Guide-to-Speaking-at- SXSW/attachments/27853)

</comment><comment><USER7> SXSW: making Austin more dynamic, one decaled SUV at a time

</comment><comment><USER8> "I love breakfast burritos"

Just a tip: we call them breakfast tacos.

</comment><comment><USER9> Really really important note: there are no 'breakfast burritos' in Austin, only breakfast tacos.

[http://www.nytimes.com/2010/03/10/dining/10united.html?pagew...](http://www.nytimes.com/2010/03/10/dining/10united.html?pagewanted=1)

<comment><USER10> Also really important to note: breakfast tacos are amazing, and far superior to burritos. Just go visit Torchy's Taco's while you're in Austin, and you'll understand.

</comment></comment><comment><USER11> Great tips Danielle! Wish I had this last year when I went to SXSW!

</comment><comment><USER12> Related: <http://news.ycombinator.com/item?id=3530760>

</comment><comment><USER13> After loading, article disappears on an ipad. (unable to investigate right now)

<comment><AUTHOR> willfix

</comment></comment><comment><USER14> Nothing new that already had not been said a million times before. oh wait, there's the obligatory use of profanity to make it seem "cool". Lame attempt to gain attention, even more lane posting it to HN.

<comment><AUTHOR> It probably has all been _said_ before, but doing it is harder. And lot's of first-time entrepreneurs haven't heard it. Lame being jaded on HN

<comment><USER14> wait...so an opinion that conflicts with your pov is branded as "jaded"? how mature of you...

<comment><AUTHOR> No, a jaded opinion is branded jaded. Obviously I don't agree with your opinion, or I wouldn't have spent an hour writing an email to the 500 startups mentors and founders. This is what HN was for, helping startups with contributions to the community. This is what I have to offer, take it or leave it - but clearly the votes indicate there is some value here.

</comment></comment></comment></comment><comment><USER15> What the hell is this crap?

</comment><comment><USER16> Beautiful writing, almost too beautiful. But please, take it as a compliment. Its perhaps a little too specific of a topic, may I suggest you team up with a someone more technical than yourself? I'm trying to do the same with my design because I think remote collaboration is brilliant. Cheers~</comment>


Show HN: Mood Climate, sentiment analysis in slack - <AUTHOR> https://www.moodclimate.ml/ <comment><AUTHOR> Ahoy! Mood Climate is a side project I've been working on for some time. Basically, sentiment & topic analysis in slack. A tool for managers to be better in touch with their team and morale. Empathy as a service. It was built using laravel and IBM watson. It was fun to build and I hope you enjoy it. Cheers! Gareth.</comment>


Let's stop talking about quality - <AUTHOR> http://blog.samstokes.co.uk/blog/2016/02/24/quality-vs-empathy/ <comment><USER8> Some quotes from a guy who went mad thinking about quality. In short, you don't want to stop talking about quality but learn how to move toward it. And no, quality is not a boolean value nor does it have to create fears of judgment. These are just effects of striving for idealism.

"Care and Quality are internal and external aspects of the same thing. A person who sees Quality and feels it as he works is a person who cares. A person who cares about what he sees and does is a person who's bound to have some characteristic of quality."

― Robert M. Pirsig, Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values

"You've got to live right, too. It's the way you live that predisposes you to avoid the traps and see the right facts. You want to know how to paint a perfect painting? It's easy. Make yourself perfect and then just paint naturally. That's the way all the experts do it. The making of a painting or the fixing of a motorcycle isn't separate from the rest of your existence. If you're a sloppy thinker the six days of the week you aren't working on your machine, what trap avoidance, what gimmicks, can make you all of a sudden sharp on the seventh? It all goes together ... The real cycle you're working in is a cycle called yourself. The machine that appears to be "out there" and the person that appears to be "in here" are not two separate things. They grow toward Quality or fall away from Quality together."

― Robert M. Pirsig, Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values

<comment><USER9> Exactly what I thought of as well.. I know it's cliche but Zen really helped me clarify my thoughts on quality and the different ways to pursue it.

<comment><USER10> I went to the comments to mention Zen and was glad it was already the top comment. I was lucky enough to get introduced to it early in college as it really got me thinking about quality. I should probably re-read it again to see if my thinking evolved since.

</comment></comment></comment><comment><USER11> I agree with a lot of this article, but I think it underestimates how much time it takes to properly prioritize good software practices against the business needs. There's the trivial case (the DB is down, nobody can log in) where they're aligned, but there's a lot of other work where it's not obvious what's the most important thing to the business.

This is why PMs have jobs. For every deep, hard-to-understand drag on feature velocity based on technical debt, there's a deal that's going to make the renewals team miss the quarter because of a missing feature deadline. Balancing those against each other is apples to oranges, so it's impossible to make everybody feel great about that.

A friend recently suggested that the way to do this is pre-arrange a schedule for "quality". Dedicate 30% of dev time to maintenance / debt / refactoring / whatever you want to call it, then stick to that. I think this is a more pragmatic way to approach it, because otherwise you're asking every engineer to understand the whole of the business at every Scrum meeting. Not only is that intractable, I know plenty of engineers who don't want to think about the plight of sales / marketing / renewals. Let the PM do their job prioritizing features for them, and let the engineering team prioritize and work on quality.

</comment><comment><USER12> I got kinda lost right out the gate - mostly because quality can be used in an objective fashion as something that is measured and managed. Though not in most small software organizations. For example, in my work we measure percentage of team time spent fixing defects (bugs), new defect tickets per week, etc. In my personal work I usually measure Defects per KLOC during development and number of defects found after completion. All of these measures allow for objective conversations about quality - "that big crunch we did to finish last week, while it resulted in 25% more defect tickets opened this week, most of them related to the newly released work".

I appreciate this perspective and I'm all for communication and empathy, but I think the belief that quality is hopelessly subjective is misguided. Additionally, the belief that all differences are reconcilable, while nice, is simply untrue. I have yet to work in an organization that didn't have multiple and competing tensions between individuals with different goals. This is fine, and learning to compromise is important, but also accepting that some differences just can't be bridged and learning to work as a team anyway is just as important.

<comment><USER13> What "we don't have time for quality" really means is: "I'm not sure what you mean by quality, ..."

Your definition of quality doesn't address the Marketing/UI persons definition of quality pertaining to the quality of the UI. Quality can be objective and quantitative when it is bounded within a certain context. Too often, quality is used by different people to mean different things because we haven't bounded it. this is why communication is key to understanding what someone means when THEY are talking about quality.

EDIT: To add to this... let's stop talking about "Quality" let's talk about "Defects per KLOC" and "User engagement" and "Clicks to do"...

<comment><USER14> Your metrics don't touch software plasticity (capacity to receive changes) at all, yet it is one of the most important components of software quality.

<comment><USER13> Correct. The ones I randomly picked don't cover plasticity. How does one measure (and convey) software plasticity to other [non-technical] shareholders?

Tech: "It's going to take x amount of time to refactor so that the software can easily change in the future" BusDev: "What if we don't need it to change [like that] in the future?"

How does Tech and BusDev objectively measure the software plasticity if it can't be measured until change must occur? "Our software is X plastic" means what? "This change will take 1 day instead of a 1 week because we made our software plastic." What if you pre-optimzied plasticity and YAGNI'ed wasting precious time and resources. This is where things get real dicey... trying to objectively measure the importance and value of clean code. WE, techs, understand it and can feel it while trying to implement new features and changes but those that don't touch or understand code can't.

ADD: How do we determine the code is clean (and refactored) enough (but not too much)? "Everything should be made as simple as possible, but not simpler." "Do as much is needed but nothing more"?

<comment><USER14> I have no idea how to convey plasticity to shareholders. I think it's the hardest quality to measure, and that's why I pointed it.

The GP and, for a lesser extent (but it's cumulative) you are talking about easy to measure, and yes, important metrics. But those are not the only ones. There are also hard to measure components of quality that do make it more subjective.

</comment></comment></comment></comment></comment><comment><USER15> I think the author hits on an important point under the "Common Ground" section: discussions should be collaborative, not argumentative. If you're trying to make a decision with a "me vs. you" mindset, the decision won't get made. Instead, try to frame it as an "us vs. the problem" situation, which helps everyone contribute and work multiple angles to find the best solution, keeping multiple considerations in mind -- including code "quality".

If anyone's interested in more on this, I wrote a short Medium post on other strategies for making better technical decisions: [https://medium.com/@cjcenizal/seven-strategies-for- resolving...](https://medium.com/@cjcenizal/seven-strategies-for-resolving- technical-disagreements-5862a15068fe#.dgudkjr3y).

<comment><USER16> > discussions should be collaborative, not argumentative

There's a bit of a prisoner's dilemma here, though. I've tried the collaborative approach with decision makers before only to get grilled, spun into a defensive position, and ultimately dismissed.

I think, generally, developers are empathetic to business needs, though they may disagree about the specifics. I find the lack of collaboration comes from the other side of things. Often because of a lack of context from the business side.

</comment></comment><comment><USER17> The first rule on the tech startups field is to not make "quality products", simply because you can't afford it. Then to claim you are making "quality products" because you can't afford not saying it.

I was stuck with "making perfect projects" for long and got no profit from it, now I do both, I work simultaneously (I'm a NEET so a lot of time in hand) on one "perfect" with vanilla code and the other with a framework and any library I see online. The result is I finish several "non-perfect" projects and the one I'm working on almost finished and took me 2 months, the "perfect" project is taking me 3 years so far.

It's a balance for me between joy and the need of money, and from my experience if you want to make some money just forget the "making quality products" BS and deal with it as a meme, Ayy LMAO.

</comment><comment><USER18> I don't agree with the article. Empathy, communication and quality are not mutually exclusive. I can empathize and sympathize with the strains of timelines, deadlines and crazy demands, but that does not mean we developers and users should not push or demand quality software. This type of attitude is, in my opinion, why software quality has been going downhill over recent years. Start ups looking for the quickest buck, corporations ignoring user experience to appease crazy administrator demands. Quality should be the most talked about when it comes to software. It's not binary; it's an umbrella term to express satisfaction; it can be broken to many subcategories, true, but still can be used to express overall impression.

<comment><USER19> You can't really define what quality software is, though. You could have a patched together backend that "just works" and has a great UI that customers love, but how is that "quality" software? The software end of it is clunky and patched.

On the other hand, you can have completely documented, easy to read, well thought-out code that has a terrible UI that no one will bother using. I guess you can say the software is "quality," but it doesn't matter.

Then again, maybe "quality" software to you is software that works, like the first example. In that case, it doesn't matter how well documented it is. It works. It's self-readable at least to those who wrote it. Maybe the team will never grow beyond that, so who cares? Or by the time it does, it will be rewritten anyway for other reasons.

The point, I think, the author is trying to make is that quality means so many things it means nothing. It's a useless term because it has no objective meaning. We can argue about what you think quality is and what I think it is, but it's likely going to be different for any two people.

<comment><USER20> Quality software is pretty easy to define and you described it.

Quality software is software that works for _everyone_ who uses it. That is usually a very long list

      - <USER2>
      - <USER3>
      - new developers
      - testers/qa
      - <USER4>
      - <USER5>
      - <USER6>
      - sales people
      - third party integration
      - <USER7>
      - etc.

You are right that most of this comes down to the iceberg problem (you only see the issues you focus on but there are many more hidden to you)

The author is very foolishly thinking that communication is possible in their "solution" I can have speeches for hours with managers and sales people and have them still completely ignore quality.

</comment></comment></comment><comment><USER21> Try working on an automated car, space shuttle, encryption algorithm, robot, medical equipment, security systems, ... I'm happy the engineers working on those ones don't have the same perspective as our dear Sam.

I think this point of view has to be limited to a really Silicon Valley / consumer products experience: "we will add a button in an app that will be ground-breaking!" The opposition of the two models of discussion shouldn't exist, as quality is indeed a business decision ("do you need a software with less defects? Or you are okay paying for more support and the risk of loosing users and image and ...").

</comment><comment><USER22> I think this comes about when there is no good definition of quality. If you say quality is "conformance to requirements," you have a starting place. Then measurement can be seen as the price of nonconformance. Check it: [http://lansingbusinessnews.com/management-matters/468-the- fo...](http://lansingbusinessnews.com/management-matters/468-the-four- absolutes-of-quality.html)

</comment><comment><USER23> This is kind of an odd article, didn't completely know what to make of it. There is another definition to the word quality, probably the original, which means "property". For example, color, texture, and density are qualities of an object.

As such the QA dept reports on the current status of a project in several dimensions, not that it has met a binary threshold of excellence.

<comment><USER24> Same, as I saw it start in one direction (objection to a term) and then move toward a different one (larger discussion of communication and format?) in order to work through...I guess the issue with the term quality at the outset? There's some crossing between 'quality' and 'goals' that doesn't quite make sense to me, because logically I tend to think there's an "objective" perspective to whether goals have been reached or not in a fashion that reflects...quality...Not necessarily in the 'property' definition, but definitely related, in that achieving the goal would be reliant on the quality of the work in both views (e.g. it has the property of working and it works properly).

</comment></comment><comment><USER25> I really vibed with this article.

For my entire career, I've attempted to make the distinction between _quality_ and _fidelity_.

Quality, as the article suggests, is a subjective term that is determined via individual experience.

Fidelity, on the other hand, is the concept of making something which adheres to the requirements/specifications/best practices of the realm in which the thing exists.

So much of the technology business has failed not because of bad ideas but because of bad communication of those ideas. As technology becomes more and more ubiquitous within the lives of creative individuals, the need to understand this duality will be even greater.

</comment><comment><USER26> Paul Graham actually has a blueprint for managing these kind of tradeoffs (speed vs quality) in his growth essay: [http://paulgraham.com/growth.html](http://paulgraham.com/growth.html). While the main point is that growth defines startups, there's another point (possibly more impactful) that claims hitting your growth goals is the best decision making device.

</comment><comment><USER27> >Instead of talking about quality, let's talk about goals. We want to see whether customers engage with this new feature. We want to cut down how often our engineers get paged at 3am. We want the main features to be at most 3 clicks away. We want to communicate the value of the product in the first 5 minutes. Let's talk about how our different goals interact. Maybe there's a way to do it that gets everyone closer to their goals?

Quality, in engineering terms, boils down to setting standards for your work, and then meeting them. You could argue the converse of everything in this article is true, or actually a good thing; in a way, Paul Graham's essay on taste does [1]. There has to be some system for evaluating work as "good" versus "not good". It's effectively writing specs for company operation.

It sounds like the author has been a victim of either vague standards or poor prioritization. It's pretty clear how either scenario would thoroughly suck to work for.

[1][http://www.paulgraham.com/taste.html](http://www.paulgraham.com/taste.html)

</comment><comment><USER28> This really seems like a redefining of what the word Quality means to make some other point. "Quality is subjective" is a pretty poor statement since quality has a pretty objective definition.

<comment><USER19> What _is_ quality, then? I've never heard an objective definition regarding software.

<comment><USER29> Quality is something you qualify, quantify (measure) and optimise for.

For example, consider a team that wanted to hire people that they considered 'Empathetic'. Firstly they would need to define what they consider good signals of this, secondly they would need to share some kind of system of measure of it, and then finally they'd be able to optimise for it by trying to create the context and behaviour that they believe would increase its likelihood (e.g. hiring people that went to a lot of Empathy training days at their previous companies).

My point is that the definition of quality is objective but abstract. In practice it refers to a concrete property that you wish to optimise for, and this choice of how and what to measure as quality is a subjective decision requiring coordination.

That does not mean it's not a useful concept, and that therefore everything should be considered equal. Most people prefer to act with regard to their preferences, and that is why people often talk about something called quality even though it's difficult to pin-down.

(This is conceptually similar to Merit which is another abstract word people use to help coordinate human activity.)

<comment><USER30> The objective definition is very difficult to pin down. My personal takeaway is that quality in practical day to day life is a trait which lets us judge things comparatively, not objectively.

Thats an important distinction though. While it is difficult pin down whether something individual _is quality_ or _has quality_ , it is easy enough to compare it to something else and say whether it has more or less.

When most people say "this is a quality _______", the comparison is implicit.

<comment><USER29> What I mean is that the objective definition of Quality is abstract and not very hard to pin down. However the way that people use it is to refer to concrete 'qualities' that groups of people coordinate around measuring and _these are subjective, hard to pin down, but often useful_.

I agree with you that a common property of a 'quality' is that it can be compared (without this property it would not be measurable.)

When people say "this is a quality _______", I think it's useful to ask them why that is Good, and what properties it had that helped them realise it was 'quality'.

Plain disagreement about the usefulness of the concept of measuring and optimising for certain properties annoys me, because often the people that do this are just trying to replace the original system with one of their own.

</comment></comment></comment></comment></comment><comment><USER31> In short: Be specific.

<comment><USER32> Yup.

Quality is about doing just enough of what's necessary and as little of what's unnecessary as possible.

If I asked the author to make the same points in 20% the time and remove unnecessary images, his/her article would be of higher quality.

See, if someone can't identify what makes an article high quality or doesn't care to make it that before posting it online - I question whether that person is well suited to speak on quality in the first place.

</comment></comment><comment><USER33> I found I had an allergic reaction to the title of the article but I agree with its premise.</comment>


The Center of the Pixel is (0.5, 0.5) - <AUTHOR> http://www.realtimerendering.com/blog/the-center-of-the-pixel-is-0-50-5/ <comment><USER2> This comes up all the time in dealing with geospatial rasters.

For instance, in GDAL there's a whole RFC for dealing with issues related to pixel corners versus pixel centers!

[https://gdal.org/development/rfc/rfc33_gtiff_pixelispoint.ht...](https://gdal.org/development/rfc/rfc33_gtiff_pixelispoint.html)

"Traditionally GDAL has treated this flag as having no relevance to the georeferencing of the image despite disputes from a variety of other software developers and data producers. This was based on the authors interpretation of something said once by the GeoTIFF author. However, a recent review of section [section 18.104.22.168] of the GeoTIFF specificaiton has made it clear that GDAL behavior is incorrect and that PixelIsPoint georeferencing needs to be offset by a half a pixel when transformed to the GDAL georeferencing model."

</comment><comment><USER3> Placing pixel centers at 0.5, 0.5 is only the obvious choice if you think pixels are little squares rather than point samples. Pixels-as-squares makes intuitive sense to people, especially those raised on pixel art, but it's just one possible choice you can make for your reconstruction function. It's not even a particularly good choice. It doesn't model real sensors or real displays, and it doesn't have particularly nice theoretical properties. The only thing going for it is that it's cheaper to compute some things.

<comment><USER4> It's true that pixels aren't most accurately modeled as squares, but they should still be centered at (0.5, 0.5), because you want the center of mass of a W×H pixel image to be at exactly (W/2, H/2) no matter what shape the pixels are. Otherwise it shifts around when you resize the image—perhaps even by much more than 1 pixel if you resize it by a large factor.

<comment><USER5> Unfortunately doesn't make sense when you need to look up pixel 0.5,0.5 in the framebuffer.

When dealing with cameras, the central point us rarely h/2,w/2\. So you're really dealing with two sets of coordinates, camera coordinates and sensor coordinates, that need to be converted between.

Integer coordinates are convenient for accessing the sensor pixels, and the camera-to-sensor space transform should theoretically include for the 0.5,0.5 offset. However, getting a calibration within 0.5 pixels accuracy is going to be hard to begin with.

<comment><USER4> Nobody's suggesting that pixels are stored at half-integer memory addresses. After all, only a small subset of the continuous image space will lie exactly on the grid of pixel centers—and this is true no matter how the grid is offset. The point is that the grid should be considered as being lined up with (0.5, 0.5) rather than with (0, 0).

So, for example, if you're scaling an image up by 10× with bilinear interpolation, and you need to figure out what to store at address (7, 23) in the output framebuffer, you should convert that to continuous coordinates (7.5, 23.5), scale these continuous coordinates down to (0.75, 2.35), and use that to take the appropriate weighted average of the surrounding input pixels centered at (0.5, 1.5), (1.5, 1.5), (0.5, 2.5), and (1.5, 2.5), which are located at address (0, 1), (1, 1), (0, 2), and (1, 2) in the input framebuffer. The result will be different and visually more correct than if you had done the computation without taking the (0.5, 0.5) offset into account. In this case the naive computation would instead give you a combination of the pixels at (0, 2), (1, 2), (0, 3), and (1, 3) in the input framebuffer, and the result would appear to be shifted by a subpixel offset. This was essentially the cause of a GIMP bug that I reported in 2009: [https://bugzilla.gnome.org/show_bug.cgi?id=592628](https://bugzilla.gnome.org/show_bug.cgi?id=592628).

</comment></comment></comment></comment><comment><USER6> Related: "A pixel is not a little square".

[http://alvyray.com/Memos/CG/Microsoft/6_pixel.pdf](http://alvyray.com/Memos/CG/Microsoft/6_pixel.pdf)

<comment><USER7> However, image is not a wave either.

I have mixed feelings about this memo. It's right about practical aspects of resampling filters, but tries too hard to justify that with sampling theory. For example, pixel-aligned sharp edges exist and are meaningful in images, unlike perfectly square waves in sampling theory.

<comment><USER8> Pixel aligned sharp edges do not actually exist and are not meaningful in images, because a perfectly sharp lens does not exist (and cannot exist) and as a result you can never form a sharp edge in an image. You also have de- focus that prevents you from doing so, and a lens that has a wider depth of field has an _immediately_ noticeable limit in sharpness.

Even if you were somehow able to create a perfect lens, you would not be able to create a perfectly sharp edge with real world objects.

<comment><USER9> See, here you're committing the same error that the paper does: pretending pixels are all about photography and optics, and ignoring that some computer- generated graphics actually are supposed to represent perfect squares.

Sometimes, pixels really are little squares. Not always, but not never, either.

<comment><USER10> I disagree. Would you say a specific address in an array has edges? No, because it's an address, a fixed point. Even if that array accidentally described a square, the individual array addresses would have nothing to do with that.

It's not a question of the representation, it's a question of quanta. Pixels are data, the little squares are the artifacts your LCD eventually produces with the help of that data.

<comment><USER9> When your GPU is rasterizing the edges of polygons, it computes (sometimes just approximates) how much of a little square is covered by that polygon and uses that as the weight when averaging what color to assign to that pixel. The resulting rendered image is most correctly interpreted as an array of little squares, not point samples and definitely not truncated gaussians.

<comment><USER8> Actually no, that's not the case, rasterization is on-off at the hardware level. You need anti-aliasing for the behaviour you are describing, which very rarely works the way you describe - the best we have right now as far as quality uses multisampling.

<comment><USER11> 2D graphics uses coverage-based antialiasing which computes the coverage over the pixel square. [https://nothings.org/gamedev/rasterize/](https://nothings.org/gamedev/rasterize/)

<comment><USER8> And that is not done by the GPU. The top comment started with "your GPU does...."

In any case, that is an extreme edge case of software renderers that doesn't even come close to a significant part of 2D graphics in real life. Indeed, most 2D graphics is really flat 3D graphics done using GPU routines and does not the work that way. I know that some extreme edge cases do use coverage based rasterization, but :

>You need anti-aliasing for the behaviour you are describing, which very rarely works the way you describe

This is a case of anti-aliasing (read the title of the article) and is extremely rarely used. It's essentially irrelevant when discussing how graphics work in real life.

I really cannot overstate just how rarely software rasterizers are used for interactive graphics in 2020, coverage based rasterizers are an even smaller subset of that. It really makes a ton more sense to use a GPU rasterizer and use MSAA or oversample the whole image.

<comment><USER11> 2D graphics on the GPU is an open research problem. My understanding is that piet-gpu and Pathfinder, both state of the art research projects, use coverage-based solutions based on the GPU. MSAAx16, which is incredibly expensive on mobile devices, only provides 16 different coverage values, and from my limited tests was poorer quality than a coverage-based solution.

<comment><USER8> 2D graphics on the GPU is not an open research problem in practice. In real life you either use Direct2D or OpenGL/Vulkan/Direct3D and just... ignore a dimension.

Yes, MSAA 16x is incredibly expensive on mobile devices, and it provides a worse result than a coverage based approach. But MSAA 16x is done by _an asic_ , and is simpler than coverage based AA. It is not even _close_ in performance. A GPU ROP _trounces_ any programmable compute unit as far as performance, it's not even closed. It is done by pecialized, in silico hardware. And in practice MSAA 8x is more than good enough, _especially_ on mobile devices. You certainly will not notice a difference on a phone with a density of _563_ dpi between MSAA 4x and 8x, let alone 16x and coverage based.

At those scales, the resolution of the phone is literally greater than the optical resolution of the optical system that is your eyes. There is no point in anything beyond MSAA 4x in reality, and a lot of people with displays in the 200 dpi range just use 2X MSAA while they could use 8X MSAA because they really can't tell the difference.

The final nail in the coffin is that these compute-based rasterization engines so far more or less match the performance of _CPU_ rasterization. This is simply unacceptable when GPU direct rasterization can give results nearly indistinguishable at multiple times the performance and much less power usage. This is literally taking something done by a highly optimized, 12-7nm ASIC, and trying to do it through compute for a tiny improvement. It's absurd.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> mark-r I once made a persuasive argument that this was the proper interpretation of a pixel, and got a major app to adopt the convention. It wasn't until much later that I discovered the error.

The problem comes when you try to align raster images with vector ones. Instead of starting a line at 0,0 you need to start it at 0.5,0.5. And heaven help you if you're combining raster images at different resolutions, they'll never line up.

The proper way to work is to put the pixel center at 0,0 and let it extend from -0.5 to 0.5. This works out well with reconstruction or resizing filters, because they're symmetric around 0,0 too.

<comment><USER12> Pixel centers at (0.5, 0.5) is the convention adopted by all major graphics APIs (OpenGL, DirectX, Vulkan, Metal). That's because it makes the math, especially around image scaling, becomes a lot simpler. What exactly the alignment problem you say isn't solvable?

One common mistake is to not think in floating point coordinates all the way through. E.g. a rectangle that covers a single pixel should have coordinates like (100.0,100.0)-(101.0,101.0), NOT involving a 0.5 offset. You almost never offset anything by 0.5 in this convention. 1 pixel wide lines are an exception, but only because then the edges of the line are exactly at pixel boundaries.

</comment></comment><comment><USER13> I know that many languages have some sort of support for units. It would be nice to have libraries which explicitly say that (0,1) and (-1,1) are different, and support transforming between them. I think that this transformation comes up all the time when working with pixels that are properly aligned and centered.

<comment><USER14> I know of yt-project, which has a lot of cool support for units in the context of sci-vis. Support for transforms between coordinate systems is nice though. Would love to have that. The only hard part is that systems which try and do this sort of thing lose some of the elegance of saying "V = (0, 1)" when you also have to specify the coordinate system you're working under for every vector.

There have been some papers that do this though. I can't find the reference but I know it exists.

</comment></comment><comment><USER15> My understanding is that graphics are smeared on Unix systems, but sharp on Windows systems, because Unix libraries use 0.5, 0.5 as the center and Windows uses 0,0.

Can anybody confirm that they investigated that deeply and found that to be true, or is there another explanation?

<comment><USER12> I have never heard such a thing. Are you talking about font rendering differences? There are different anti-aliasing algorithms, but they don't have anything to do with this convention.

</comment></comment><comment><USER16> I once made a half-pixel error trying to write a fast Fourier transform as a series of fragment shaders. That was nasty to track down! The error was smeared across all the pixels in the frequency domain causing weird subtle frequency biases in certain directions.

</comment><comment><USER17> Agree.

Hard to disagree, really.

<comment><USER18> I wonder what drove Microsoft to fo it differently (and wrongly), despite that GL had already solved this.

</comment></comment><comment><USER19> Yes, and enjoy working with MIPMaps.

</comment><comment> ur-whale Not exactly news</comment>


Post-truth: How disinformation spread over the internet - <AUTHOR> https://fatiherikli.github.io/post-truth/ <comment><USER2> What have you used for displaying graphs?

<comment><AUTHOR> I used `d3-force` library to render the graph and drew it with React in an SVG element.</comment></comment>


Ask HN: Where can I find an analysis/stats of who's hiring threads? - <AUTHOR> Is there some project that summarizes the types of jobs, requirements, maybe some hiring trends, filtering things by skillset, etc? <comment><USER2> [https://www.hntrends.com/](https://www.hntrends.com/) has some trends.

[https://whoishiring.io/](https://whoishiring.io/) is a searchable interface, although I think they scrape jobs from places other than the HN "who's hiring" now.</comment>


US-China agree to not conduct cybertheft of intellectual property - <AUTHOR> http://www.cnbc.com/2015/09/25/us-china-agree-to-not-conduct-cybertheft-of-intellectual-property-white-house.html <comment><USER2> At least we are talking, visiting, and respecting each other in public. An article posted here a day or two a go titled: "The Thucydides Trap: Are the U.S. and China Headed for War? — The Atlantic" pretty much summed up that alienation between a super power and an emerging super power is not such grand an idea.

[http://www.theatlantic.com/international/archive/2015/09/uni...](http://www.theatlantic.com/international/archive/2015/09/united- states-china-war-thucydides-trap/406756/)

</comment><comment><USER3> "Well, of course, that wasn't _us_. That was non-state actors, who happen to be in our country. Hackers, right? We'd like to catch them, but we've got other investigative priorities, so..."

I leave you to guess which side says this first. I bet both sides say it before it's all over, though.</comment>


Pervasive Sham Deals at Wells Fargo, and No One Noticed? - <AUTHOR> http://www.nytimes.com/2016/09/13/business/dealbook/pervasive-sham-deals-at-wells-fargo-and-no-one-noticed.html?src=me <comment><USER2> One of the more surprising things I've discovered as I've worked more closely with our QA guys is how little auditing goes on, especially when everything seems to be doing well.

But I work in the relatively non-essential world of analytics. I can't imagine that the world of finance is so lightly examined. But I guess 2007 showed us that it really is lightly audited in some aspects.

Really, I think some of the difficulty is in the complexity of our financial system. I'd argue it's similar to how no single person fully understands how a modern OS runs on an x86 chip - usually it works, but there are issues hiding in the shadows. Sometimes one of those CPU errata comes and bites you and the system crashes. Other times there is a stack overflow - something that obviously shouldn't have happened except the code auditing guys didn't do their jobs.

<comment><USER3> > how little auditing goes on

Companies see Risk Desks, QA, etc. as 'cost centers', and try to keep these budgets down.

Risk adjusted, they are massive profit centers. In addition to the actual $$ they save in fines, and stock price losses, the damage to the brand is often in the billions. But it is hard to measure the impact of events that do not occur.

</comment></comment><comment><USER4> There was an AMA on Reddit with an ex-employee. Here's the link if anyone's interested:

[https://www.reddit.com/r/IAmA/comments/521cjr/iama_former_we...](https://www.reddit.com/r/IAmA/comments/521cjr/iama_former_wells_fargo_bank_employee_that_saw/)

</comment><comment><USER5> This happened to us. A Wells Fargo private banker offered a new Line-of- Credit. My wife said "no." We found a Line-of-Credit opened anyway. We complained. They apologized, saying they misunderstood our conversation. Which felt like they were of partially blaming us for not communicating clearly to them.

</comment><comment><USER6> How in the world can 5000+ people be "rogue employees"?

<comment><USER7> > How in the world can 5000+ people be "rogue employees"?

Well they have 265,200 employees, so I can see 1%-2% of people maybe trying to make a quick buck. You probably know at least 100 people. Can't you think of at least two of them that would get up to some shady shit for a buck, given the opportunity?

<comment><USER8> Out of those 262,500, how many would be in consumer-facing sales jobs where an opportunity to run these scams existed? One should look at 5,000 as a percentage of /that/ number.

</comment></comment></comment><comment><USER9> Inconceivable.

<comment><USER10> Really? I would be confident in saying "Predictable". And obviously I'm not condoning it, in case it needs to be stated.

</comment></comment><comment><USER11> Based on the numbers in the article, the fake accounts generated about $1 each on average. Based on my experience being charged fees much larger than $1 by banks, it seems like the vast majority of the accounts must have generated no fees.

I can easily see how that would happen. As a bank user, some line item in my statement with $0 in it wouldn't raise any eyebrows to me. And if I did get charged a fee, they would probably remove it if I complained. Even if my complaint got escalated, what are the odds it would be attributed to a system problem and not just some idiot who forgot he signed up for an account?</comment>


How to become a better developer - <AUTHOR> http://www.appdesignvault.com/betterdeveloper/

<comment><USER2> For any lone IOS developers out there - take note. This is an awesome read and the services offered at AppDesignVault.com are first class.

</comment><comment><USER3> Thank you. I have taken away at least 3 point that I will implement immediately. Going to focus on bug fixes more and blog about my code and apps.

</comment><comment><USER4> A must read for every developer.

</comment><comment><USER5> Great post. Very insightful. Ev</comment>


Head of US military testing slams F-35, says it's unfit to fly - <AUTHOR> https://www.theregister.co.uk/2017/04/03/gilmore_farewells_trump_government_slamming_the_f35_again/ <comment><USER2> The F-35 is one of those programs that completely boggles the mind. It's government abomination at its worst. Let's put a few numbers in perspective: SpaceX operated for 10 years with approx. $1 billion USD total. It designed space craft that flew to space. The budget for F-35 is exceeding $400 billion and it's not even close to completion. This is 400x more! And when I say "budget", if you live in the US currently, "budget" means "comes from your pocket". I don't have a better word for this than flat-out INSANITY.

<comment><USER3> Eh it's a lot more complicated than just "gov bad private good"

The goals of the F35 were to be the fighter for all the branches of the military. The problem is that they all have very different requirements.

Marry that with a tech-fixes-everything attitude and you have a Frankenstein of an aircraft with so much "technology" that it gets in the way of the human pilot's instincts.

And lastly, the project has been strategically split up by contractors in a way that it creates jobs in so many congressional districts, so congress members are loathe to shut down a program that brings jobs in their district.

All this is done by PRIVATE sector contractors.

<comment><USER2> Yea, of course private sector will rationally benefit when government is running around like a chicken without a head throwing money around. I don't want to get into the reasons why the incentives are setup like they are - that's a very broad discussion. I agree (without being a fighter jet expert) that F-35 seems like a terrible idea of near-infinite complexity that no amount of money will make right.

<comment><USER4> Near infinite complexity has no meaning as a descriptor of complexity. Infinity isn't something you can describe approaching without convergence.

<comment><USER2> It was a figure of speech :) Here's a great paper about the topic of complexity [http://shaffner.us/cs/papers/tarpit.pdf](http://shaffner.us/cs/papers/tarpit.pdf) if you feel like digging deeper.

</comment></comment></comment></comment></comment><comment><USER5> The entire way the U.S. military does procurement is wrong. It's based on politics, not merit. If there was one area of government Silicon Valley should disrupt it's this. Boeing / Lockheed / etc have no special insight that should make them a preferred no-bid contractor. They just hire engineers like everyone else. Procurement for any new tech should be outsourced based on a type of hybrid elimination / round robin tournament between companies. If a company develops some standout tech on their own, but falls short in other areas, then they should make a law that other companies in the tournament should be able to license that tech.

</comment><comment><USER6> What do you expect for $400b?

</comment><comment><USER7> Has research into F-35 tech produced any externalities in the civilian sector? At this rate I'm thinking of calling the project "basic research" and call it a day.

</comment><comment><USER8> Are we just posting anti f35 stuff now? It seems a bit tired and forced at this point, no matter your opinion. To me, it just seems like recursive subcontractor issues.

</comment><comment><USER9> Combine the profit motive, a price insensitive customer, and effectively limitless resources. There are no constraints to this optimization scenario.

</comment><comment><USER10> *retired

<comment><USER11> an advanced sophist will explain to you how president and head are lifelong titles and it is technically correct enough. right before plunging into an hour-long bitching session over the post-truth politics and (just a bit) fake(r than theirs) news.</comment></comment>


Question on executive summary idea I have - <AUTHOR>

What if somebody who had a few years dev experience, came up with a cool executive summary for a business-to-business, site-subscription kind of business model targeted towards software companies, but didn't really know anyone who were developers in his social circles to kind of coordinate it with? For example I notice the "contest" offered here to fund startups is largely geared to at least two-person teams. Where could one find like a good portal/jboss/xml/xsl/database developer to work with in perhaps getting what one feels is already a good executive summary up for action and perhaps even join in the funding contest, since one isn't likely to want to do it by oneself, even if oneself did have some jboss experience? I am pretty sure "I have a winner", just unfortunately most of my friends are starving artist types rather than starving hacker types, lol. Any info much appreciated.<p>- "Allocator2008", a unit test/test automation developer in Austin <comment><USER2> you might have better luck finding hackers if you dropped the jboss,portal,XML bits.

Having a 2 person team is good. But if you're working with the right tools you can probably throw together a prototype yourself. Then you can use that to better illustrate to fellow hackers what your idea is about. I for one am not a big fan if reading executive summaries. But I'm willing to work on something with someone I know is also a good hacker. Being able to see the prototype of an idea for example would show me if I would enjoy working with someone.

</comment><comment><USER3> A developer can really get screwed jumping into someone else's idea on faith. If you really believe in your idea then pay to outsource a prototype, then (since you are not a developer) show you have the business chops to bring it all together. Once you do, developers for your idea will be a dime a dozen.

<comment><AUTHOR> Oh cool, interesting, thanks. Say the idea entailed having a portal, which, in a first cut, would take uploaded xml files, parse them into business objects, process these into some other form, and output them into say, excel? So, input xml --> parse --> compute --> output excel to the user. Could I pay like some India company to whip up a prototype portal for this on the cheap? Like in the range of 1 or 2 K ? Thanks much.

<comment><USER3> I don't know the cost... but I do know that parsing xml and outputting excel is not all that sophisticated. However you'll need a more concrete application of the process to get some bytes built. Hit craigslist software developers up for some quotes to get a better idea of what you need to move forward (dont hire anyone yet!). And start reading: [http://www.xml.com/pub/a/2005/11/09/rexml-processing-xml- in-...](http://www.xml.com/pub/a/2005/11/09/rexml-processing-xml-in-ruby.html)

Good luck.</comment></comment></comment>


FrontPage 98: Elegant and Exquisite (1997) - <AUTHOR> http://www.telecommander.com/pics/links/application%20software/microsoft/Frontpg98/FrontPage%2098%20Elegant%20&%20Exquisite.htm <comment><USER2> You can say what you want but these were great times! Everyone could make their own little ugly homepage and it was exciting. People didn't really judge each other or bragged about how this tech is better than that. I kinda miss it.

<comment><USER3> I made some groovy table-based sites by setting up the table layout with the FrontPage GUI and then editing the raw HTML it generated. It taught me HTML and opened the doors to web development for me. Same story using Visual Basic and my segway into programming.

<comment><USER4> It was pretty amazing to me that you could do WYSIWYG (wow, that's an anachronism itself!) valid HTML development, and then hand-manipulate the HTML and it let you put any invalid shit in there without complaining.

<comment><USER5> I remeber messing HTML stuff with HotDog

<comment><USER6> I remember hotdog! I preferred "netobjects fusion" more than any other similar though.

Still have not found anything that makes design as easy, and visual, like netobjects fusion.

</comment></comment></comment></comment></comment><comment><USER7> Oh god, the horror.

Not just the ugly webpages, those were the ubiquitous style at the time. No, FrontPage pioneered deep ugliness, because like all Microsoft products of the 90s it regarded interoperability as a threat. It produces ugly HTML that works best in IE, and it has an optional upload mechanism that requires IIS on the server side.

[https://www.inmotionhosting.com/support/website/frontpage/th...](https://www.inmotionhosting.com/support/website/frontpage/the- death-of-frontpage-extensions)

<comment><USER8> I love how they laid it on the line. "If you want to do web development, you need to actually learn web technology"

Now if someone would tell web developers that if you want to write desktop/mobile apps, you need to learn native frameworks.....

 _What are newer FrontPage alternatives?

The Internet and the web have changed drastically since the days when FrontPage was a very common website editor. Almost every modern website editor these days will require you to have some basic understanding of the concepts of HTML, and CSS coding, instead of the drag and drop design that FrontPage used._

<comment><USER9> Don't forget the _first_ program in this space: Adobe Pagemill.

<comment><USER10> Wasn't HoTMetaL (Pro) the first actually released (in 1994)? Pagemill was in beta until 1995...

<comment><USER8> Claris Home Page looks like it also came out in 1994.

</comment></comment></comment></comment></comment><comment><USER11> Born in 91, I was the perfect age to be obsessed with Harry Potter. When I was around ten, an older kid in the neighborhood helped me make a Harry Potter themed website using FrontPage (the Express version I think it was named).

Small, random event that end up having a big effect on my life. My hobbies, what&where I chose to study, the friends I got there etc. I can trace back to this.

<comment><USER12> Similar story for me, but with a Dragonball Z fan site. Internet, I'm sorry.

<comment><USER13> Made a Pokemon fan site, must have been 9 or something, I didn't know how to link to other pages, so everything was one page and links worked via anchors...

<comment><USER14> I attempted to make a pokemon battle system in front page by linking pages and hard coding each action.

<comment><USER15> Oh man, me too. I couldn't figure out anything about dynamic web pages except that I needed a host with "cgi-bin support". I wanted to build a Neopets alternative, and when I couldn't figure out how to do anything dynamic, I figured I could just build out a new page for every combination of variables that could change.

I was like, 7, so my math skills didn't really allow me to understand the scope of the number of pages that would be required.

But god damn if I didn't have a blast trying.

</comment></comment></comment></comment></comment><comment><USER16> You know, good design principles weren't invented in 2006. There was plenty of good design in the 90s in other industries (publishing, newspapers, magazines, advertising, academia, ...), but apparently fucking nothing of that filtered down to webdesign.

I mean: yes, technology was limited. I get that you couldn't have free range with things like typography and that CSS wasn't a thing yet. But for the love of god: a textured red background that made the already shittily rendered text _even harder to read_?! What were we thinking?

<comment><USER17> I'm so glad we've learned these days with 10,000KB of JS for 1KB of text rendered in tiny, hairline thin fonts on no-contrast backgrounds.

It's honestly always been bad ... before the web you'd dial into terminal based systems (BBS) and be assaulted with a perverse amount of ANSI escape codes and 8-bit extended ASCII flying around the screen and blinking at you (interfaces like this: [https://s0.mundogamers.com/uploaded/bbsmenu.jpg](https://s0.mundogamers.com/uploaded/bbsmenu.jpg)). In between the two eras even IRC and UseNet got full of crufty ASCII art followed by leet-speak spelled weirdly cased words...it was illegible, unappealing and awful.

Having the maturity to know when to stop and having the control to know what not to do have always been talents far more rare than we'd prefer.

<comment><USER18> Frankly, that was not an artistic example of the BBS scene. Here is one that had aesthetically pleasing features:

[https://cleaner.ansilove.org/bbs.html](https://cleaner.ansilove.org/bbs.html)

And, if you want to see a live version of a sweet looking BBS, check out this one in your telnet app:

telnet: absinthe.darktech.org:23

<comment><USER17> Well sure, you can always cherry-pick good examples of anything.

</comment></comment></comment></comment><comment><USER19> The whole domain is amazing.

Just look at this page, updated LAST YEAR: [http://www.telecommanderhosting.com/ec/framed_Microsoft_OS.h...](http://www.telecommanderhosting.com/ec/framed_Microsoft_OS.html) Look at the waving Win 95 logo! Not to mention the "office clipart guy" in the homepage...

I am just suprised that the obligatory "under construction" gif is missing!

<comment><USER20> Don't worry, Ling's Cars will make sure you get your full fix of Geocities design.

[https://www.lingscars.com/](https://www.lingscars.com/)

<comment><USER21> What is slightly weird is that the website actually uses HTML5, minified CSS and what not.

</comment></comment></comment><comment><USER22> People laugh, but this is how I learned HTML back then.

I did something in Frontpage and then checked the code it generated to see how to do it with the tags.I still remember the Dreamweaver vs Frontpage vs Notepad arguments.

I'm getting old.

<comment><USER23> Me, too. Use FrontPage (later DreamWeaver), check code. Delete bit by bit what wasn't needed. Unserstand what the rest was doing. Iterrate on it.

For those who laugh: we didn't have any proper html dev dokus at that point. search engine still sucked. we learned html by copy&pasting&deleting&iterrating.

</comment></comment><comment><USER24> I'm wondering how many of the complaints here are to do with FrontPage itself, or the very idea of WYSIWYG web design.

To me, it seems that web design is a visual thing. And if so, then a WYSIWYG editor is the appropriate thing to use. I'm suspicious that some people here don't think visually, and don't see the value in thinking visually.

I don't know what people mean when they say "bad markup". I imagine it might include things like positioning elements using absolute coordinates. But I'm sure this is solvable by previewing the webpage on different resolutions, browsers and device types.

<comment> c-smile browsers do the following:

By given set of HTML and CSS produce bitmap on screen. That's perfectly determined task (modulo browser differences).

WYSIWYG editor does the opposite task:

With the given bitmap on screen produce set of valid HTML and CSS declarations.

The last task is undetermined mathematically speaking - with modern HTML and especially CSS there are too many ways of get the same rendering using completely different CSS tricks - absolute positioning, floats, display:grid and flexbox etc. etc.

</comment></comment><comment><USER25> One related tool that's often forgotten, I find, is Microsoft _Publisher_. Publisher 97 had an option to build and export an entire site 100% visually. I had family members use it to build their complete personal sites.

It was a pretty clever system, too. It built layouts automatically using complex tables, split out text where it could, used image maps where it had to, etc. It wasn't something you'd be proud of using but it was the fastest tool for non-technical users at the time and would probably even hold up pretty well now(!)

<comment><USER26> Oh man, I remember 'upgrading' to Publisher from FrontPage. I do agree that it was surprisingly clever at what it did, but I'm also happy I eventually learned how to write my own html/css eventually!

</comment></comment><comment><USER27> > Microsoft FrontPage 98 also now provides support for the Channel Definition > Format (CDF) which is a really keen way of broadcasting your web content to > an end user's Windows desktop. You can "push" content to your visitors > without having them seek you out daily for updates.

It looks like this used to be the precursor of RSS. [https://en.wikipedia.org/wiki/Channel_Definition_Format](https://en.wikipedia.org/wiki/Channel_Definition_Format)

<comment><USER28> And desktop notifications

</comment></comment><comment><USER29> Back then, we thought those were bloated web pages. Litte did we know.

</comment><comment><USER30> [https://boles.com/](https://boles.com/) (website the article uses in examples) is now front'd by Bootstrap.

Is Bootstrap is the new Frontpage?

</comment><comment><USER31> Man, look at that site. Unimaginably fast, works perfect on mobile, no clutter and readable.

It truly has gone downhill since then.

<comment><USER32> > Unimaginably fast

From the article:

> I also like the load time estimation found in the bottom right corner -- > that's a constant reminder how long it will take the page you're working on > to load for your visitors. My resume page is pretty good on wait time -- 14 > seconds and that includes a graphic in addition to a massive HTML file!

His "unimaginably fast" website took 14 seconds to load. Compare that to today's "bloated" sites like CNN's home page. Loads in 4.3 seconds, and finishes asynchronously loading all the bloat in 7.8 seconds.

<comment><USER31> That was probably with a 28.8k modem under less than ideal circumstances. He probably could optimize it further though, sure, is that your point?

Yes, technology at the time did limit the kind of bloat that would be tolerated. Is that an excuse to go all in now just because we can?

</comment></comment></comment><comment><USER33> "Exquisite Channeling"

Wow. I worked at Netscape summer of 1997, a team that helped content providers get their web sites ready to showcase the Dynamic HTML and Channel features in Netscape 4.0.

Javascript and RDF. In 1997.

</comment><comment><USER34> FrontPage 97 was the first WYSIWYG tool I ever used, since graduating from the humble text editors. IIRC, I got a free upgrade to FrontPage98. Coupled with Visual InterDev, it formed the core of my webdev workflow.

At the time Macromedia was making terrific advances in this space. Ca. 1999-2000 I moved to Dreamweaver, Ultradev, Flash and Paint Shop Pro(liked it better than Fireworks; story for another day).

<comment><USER35> isn't that back to front?

you were supposed to graduate from WYSIWYG tools like FrontPage, which generated utterly awful markup, to writing proper HTML yourself in a text editor

<comment><USER36> Actually I did this as well. I learned to code in HTML and was forced to use Dreamweaver in school because it was "faster". I could use a template and code most of what I needed to by hand faster than most other students could with the tool. I also made very clean, super fast loading sites because I tried to do everything as simple as possible. On of my final projects fell through despite me building them an entire, completely custom, hand written website that was accessible, clean, and loaded super fast. I've never thought I've had a keen eye for designing new things but I've definitely got an eye for the classics and got a lot of accolades in my class for that work.

</comment></comment></comment><comment><USER37> "WebMaster". I see this term a lot in older sites. "WebMasters click here !" sort of links.

What does it really mean? The term.

<comment><USER38> there was also this thing between webmasters, called banner exchange. that's how you got new traffic to your website. i remember when i did my first gaming review site up in high school i was trying to get my banner to as many other sites as i could and they would get the place on my site. i remember tweaking my banner in macromedia flash :)

<comment><USER39> I wish we could go bac to this again.

Link to the pages you find interesting. Forget SEO. Find more pages by following recommendations. Allow ourselves to create "ugly" pages.

</comment></comment></comment><comment><USER40> Although it's just a footnote on this page, Microsoft GIF Animator is still the easiest and most useful GIF animation tool out there. I have yet to find anything quite as easy to make animated GIFs. I haven't used it in years though, not sure if it's still floating around and if it runs on a modern OS.

<comment><USER41> I loved and used Image Composer for years after I'd moved on from Frontpage; I remember havng to install FP solely to get a copy of it (and some of the other tools like GIF animator)

</comment></comment><comment><USER42> I used Netscape's Composer for a while, then Frontpage. It was the sheer frustration of trying to get it to do what I want that lead me into actually learning and mastering HTML.

I was told by a number of "experts" at the time that I was silly and WYSIWYGs were the way forward. It's some 20 years later and thus far they've still never really worked very well. Also, man that makes me feel old.

<comment><USER43> in 1997, i had people tell me i would never be a real webmaster if I wasn't using hotdogpro. i never wanted to be a real webmaster, so I guess I dodged a bullet there.

</comment></comment><comment><USER44> Isn't it funny that the _tone_ for an article written more than 20 years ago can change over time? Honestly, I don't know if the article was written in sarcasm or not.

</comment><comment><USER45> Hmm. I'm pretty certain Homesite was out by then which I always felt was the best web IDE. Such a shame what happened to it.

<comment><USER46> Homesite was amazing. I think it was the first 'professional' piece of software I actually spent my own money on.

</comment></comment><comment><USER47> Wow, this was a trip down memory lane. In fact it was Frontpage 98 that inspired me to try out my hand at building the web, back in 1999. I was just 10 years old back then. However it sparked my interest, because I could create something. Creating a webpage about my then most favorite game Commandos: Behind Enemy Lines, publishing it and receiving my first ever e-mail from someone in the UK about a spelling error resulted in an experience that struck me so deeply that I became a web developer. Almost 20 years later I still love what Microsoft FrontPage 98 allowed me to discover.

</comment><comment><USER48> My first programming job often consisted of us adding buttons and a javascript snippet to third party websites as part of the on boarding process (thinking embedding a webring script). Usually this was easy, but sometimes you'd get a FrontPage site and this simple edition would completely blow up the site.

Fortunately I usually didn't have to use front page to do it and could hand edit the HTML, if it blew up when they tried to edit it in front page again we could blame that on MS, which was believable with their software quality at the time.

</comment><comment><USER49> I love this! This is a much better example of what things were like in the early days of the internet than a lot of what I saw on the Web Design Museum ([https://webdesignmuseum.org](https://webdesignmuseum.org), [https://news.ycombinator.com/item?id=17891826](https://news.ycombinator.com/item?id=17891826)) -- I'd completely forgotten about the tendency to use garish round images for buttons and weird fonts.

</comment><comment><USER50> Frontpage came with the all the usual Office software in the bundle which meant that it was often found on most internet cafes PCs. I spent a year backpacking in 2000 and used Frontpage in those cafes to edit and update my travel website. I kept most of it on a floppy disk, and also used FTP. The internet cafes often had scanners too, so I was able to scan a selection of developed print photos to include in the site there.

</comment><comment><USER51> Back when I was in middle school I used a copy FrontPage 98 at school to generate frames for my Star Wars site and then finished up the rest at home with FrontPage Express. A few years ago I restored the site after finding a broken version of it on the WayBack machine.

[http://re-cycledair.com/starwars/Entrance.html](http://re- cycledair.com/starwars/Entrance.html)

<comment><USER52> > Approx. download time: 2 hours and 9 min. at 28.8 kbps

</comment></comment><comment><USER53> I was obsessed with this software as a kid. I could never get it to run on my computer though.

My PC had a faulty RAM which would get hit somewhere in the middle of installation and trigger the blue screen of death. I tried that install program a hundred times. Tried different distributions, tried changing the OS (98 to ME and back). Nothing worked.

And we couldn't afford getting me a new RAM. Mom and Dad were still repaying the loan that they took three years ago to buy me that broken computer. No way they could add a brand new RAM to their expenses.

But I really wanted to build my own website. I would watch video tutorials of FrontPage (on pirated CDs), and I'd imagine using all the techniques from the videos to design my own website. You could make links (for some reason, links seemed cool), and dynamic links that didn't reload the page (which meant iframes everywhere). You could add clip arts (those tacky office cliparts), and buttons that react to the mouse (I could imagine building whole games out of those).

The possibilities would be _endless_... if only I could get the money to buy that new RAM.

After attempting and failing a few ideas to raise the money, I decided that the only way I could get that kind of money would be to... write a book!

The book would be a guide to a software called "Multimedia Builder." MMB was a tool to make Autorun programs. You could make a window with buttons, videos, music, interactivity. It even had a scripting language. It was very popular at the time and my classmates were asking me to show them how to use it. I decided I'd write a book about it (there were none on the market), sell the book to a publisher, and use the money to buy not just a new RAM, but a whole new computer!

I drafted the layout (somehow layout was more important than content for me). Outlined the chapters. Built folders of step-by-step screenshots...

... until Mom surprised me with $36 that she had gotten as extra salary! One of the best days of my life! Off I ran to the computer market. Bought a brand new SDR Ram, put it on my underpowered PC400 motherboard, started the computer, put the FrontPage CD in, and fired up install. I remember watching the install progress bar slowly fill. It was always near the halfway mark that the blue screen would appear. I remember the angst I felt as the progress bar approached the halfway mark, passed it, and the screen remained very not blue!

I outgrew FrontPage in two weeks. Turns out, FrontPage can't really do much :)

What I should have learned was actually HTML, CSS, and PHP. Which I did, right after. Funny things is though, they would've all ran fine on my faulty RAM! I could've started my web dev adventure a whole year earlier! Good times.

<comment><USER11> Thanks for sharing, cool to read.

</comment></comment><comment><USER54> I read quite a bit of this but couldn't figure it out: is this writer sort of mocking their own purple prose in a sort of self-consciously over-the-top way? Or is that just their writing style? (It's hard to imagine anyone reading this style seriously. Even the subtitle, "elegant and exquisite" is a weird way to talk about software.)

Do you think they're making fun of something?

<comment><USER55> It took me until he started showing the themes to realize it was a joke, but after that it becomes a bit more evident.

<comment><USER56> > My resume page is pretty good on wait time -- 14 seconds and that includes a > graphic in addition to a massive HTML file!

Ah, those were the times...

</comment></comment></comment><comment><USER57> Elegant and Exquisite, Hoo Hoo, Hee Hee, Gufaw!! I was running an ISP at that time. This caused me no end of headaches in getting the FrontPage extensions working on various and sundry web servers. It allowed people to easily create websites, but caused a nightmare of support and infrastructure issues just to keep it working. So glad this piece of tech faded into infamy.

</comment><comment><USER58> There were sooo many crap webpages created with that software. I used it myself for a while, before I knew better. It produced horrendous, buggy HTML. Table handling was pants - I used to have to hand code tables (used for layout!) to make them work properly. At least we don't have to do that these days... oh, wait, sorry. Ok, we do.

</comment><comment><USER59> Frontpage was terrible for the web in many ways but damn it if I didn't love it to death when I first figured out how to use it and made my first websites with it. It was my first "code" editor in a long line (Frontpage -> Notepad++ -> Coda -> Sublime Text -> Sublime Text 2 -> PHPStorm -> IDEA Ultimate)

</comment><comment><USER60> I remember Frontpage 98 along with Outlook 98 they were offered as free upgrades from older versions. I had Frontpage 97 and Outlook 97.

For programming, I used Visual Interdev which resembled Microsoft Visual Code more than Frontpage. Visual Interdev was part of the Visual Studio package.

<comment><USER34> > Visual InterDev

Haven't come across that word for over ~15 years =)

</comment></comment><comment><USER61> I skimmed this entire article thinking it is a clever tongue-in-cheek piece, and found it hilarious, only to realise that it was from 1997 and written sincerely.

Wow, I wish I could get back those hours drawing complex tables and placing 1x1 pixel images in strategic places.

</comment><comment><USER62> I pirated frontpage around 97,98 and used it to make garish homepages with all the elements we consider sins today: frames, lens flare, flame gifs, and background music. This was a formative experience that contributed to my career and life today.

<comment><USER63> Playing around with a tool is still using it. Who cares if it's ridiculous? Getting anyone to be engaged with something new is way easier if they're passionate about it. If a kid wants to edit a video about farts, they're going to learn what it takes to make that fart video, and I applaud them.

Also, the marquee tag is mission critical.

</comment></comment><comment><USER64> I miss this. Web pages were just data not programs.

<comment><USER65> Why?

<comment><USER66> Because you could just read the text and view the images without being disturbed by 3 floating elements you have to close first, then when you scrolled 25% down some new thing popping up in your way, then when you scrolled 50% down some other annoying thing happening, and when at the end of the article suddenly it changes into another one, all while some video starts autoplaying but not without first having a wait during which you cannot pause it, and without following you around in a tiny window at the bottom that automatically appears again when you scroll, even if you tried to pause it. All while some small floating elements on the sides somehow appear on top of small parts of the text you are trying to read left or right.

<comment><USER67> Yes! And also, because you weren't running a little program to display each page, the back button actually worked. (Compare what HN does when you follow a link then hit back to what Reddit does.)

</comment></comment></comment></comment><comment><USER68> Are there good free (as is free software) WYSIWYG website editors nowadays?

<comment><USER46> Hell are there good WYSIWYG website editors nowadays at any price?

<comment><USER69> Dunno depends on what you like, I liked Microsoft Expression Web and that seemed to be free but they discontinued it. I would love to see VS Code become a reasonable WYSIWYG editor for Markdown and HTML5 / CSS though. I have seen some Electron based editors for Bootstrap that are very good, trick is to do an HTML WYSIWYG editor you really do need a damn browser component to do it properly enough. I would also like to see Mozilla create something similar for Firefox Developer Edition, not just more JS editors.

</comment></comment></comment><comment><USER70> In the mid 90s while getting my CS degree, I had a side job as an SA at a small ISP. We also provided site hosting. One of our clients designed his site with FrontPage. This story reminded me of that, so out of curiosity I checked to see if the site was still around. Not only is it still around, it still looks like something straight out of the 90s. Behold:

[http://lotteryamerica.com/](http://lotteryamerica.com/)

</comment><comment><USER71> I remember FrontPage Express being pretty good too. Basically a souped-up web developers' Notepad.

It had nowhere near the feature set of full-blown FrontPage, of course.

</comment><comment><USER72> So much nostalgia... Was just thinking it would be neat to try to make a "Web Classic" version of the web without javascript and which only supports HTML 2.0 or 3.0. Maybe even bring back the 'blink' and 'marquee' tags :) . Kind of goes completely against the "one web" principle though, so definitely not practical. Fun to imagine having that kind of blank slate though.

</comment><comment><USER73> Good old GruntPage. Yet another technology I let pass by me as it grew to dominance and then faded--I much preferred to work in Emacs, hand-crufting HTML directly, and I never felt unproductive, especially when I used Scheme scripts (outside Emacs) to generate lots of similar pages.

Given the tangle of unreadable, unmaintainable IE-specific garbage that FrontPage produced, I'd say I came out on top overall.

</comment><comment><USER74> I think WebDAV was of course the best thing about FrontPage and I still use it whenever I can. FP made web development accessible to more people which is fine, but I don't miss all the cruft it added, although, arguably we're in a crazier mess now perhaps :P

</comment><comment><USER75> I never had the privilege of using Frontpage. I had the program and some books but I felt like good ole notepad was good enough for me, so I never even tried it out.

My mind was blown when I realized I could have different colors on my syntax and people actually indented things.

</comment><comment><USER76> I don't get it. Maybe someone can explain why these style and many other at the time were so hedious given that in print for a century preceding it, we had beautiful color, font and layout.

<comment><USER77> It wasn't obvious at the time that web design should have anything to do with print. Its immediate predecessors were a bunch of online systems like BBSes, Compuserve, Prodigy that either ran inside a terminal emulator with garish ANSI colors at best, or shipped with their own custom GUI app for access.

There was a lot of activity in the late '90s around what "authentic to the medium" web design could look like, but I don't remember people being very interested in emulating traditional print design — which itself was in turmoil thanks to digital publishing systems. Open a 1996 issue of Wired and you'll probably think the designers were on crack: purple text on garish background images, cut-up barely readable fonts, that kind of thing.

</comment></comment><comment><USER78> I remember the excitement of hunting for animated GIFs for your homepage and putting up the ubiquitous "under construction" image on the pages you were still working on.

</comment><comment><USER79> When the client side ruled, and hosting was democratized. Anyone truly could have had their own websitr. Now everyone uses facebook, Twitter or squarespace.

</comment><comment><USER80> I remember ogling over the this and Dreamweaver and begging my parents to let me have a copy. It seemed like it could do _everything_ at the time!

</comment><comment><USER81> Nostalgia

<comment><USER82> It ain't what it used to be!

:-D

</comment></comment><comment><USER83> <p>Loved reading code like this    </p>

</comment><comment><USER84> Fond memories of looking for that free web hosting with Microsoft FrontPage Extensions enabled to make my forms work.

</comment><comment><USER85> When stuff like this comes up I cannot help but think of websites hosted on geocities and angelfire. Oh the memories.

</comment><comment><USER86> Was there some kind of html mode for Word? I have a faint memory of actually using word instead of frontpage

<comment><USER87> Yes, I remember making "websites" in high school with this feature for a class. I think it came out in Word 2000.

</comment></comment><comment><USER88> Hey. Don't knock it. I had to use that

</comment><comment><USER89> "Here's an Automotive theme that is quite unique and pleasing to the eye: ... <BARF>"

</comment><comment><USER90> Frontpage, the tool of choice for boss's sons and nephews to help save money on a website design.

</comment><comment><USER91> I remember the pure excitement of _tiled background images_. Those were the days.

</comment><comment><USER92> Were we really that color blind back then or did we really have that poor taste?

<comment><USER93> A bit of both.

The color palette was limited. 216 web-safe colors, 256 if you didn't mind the user's open programs changing how it looked.

Colors displayed differently on different monitors, and 'dead' areas of the screen, where colors would be less vibrant, were common.

And finally... The web was different, so we tossed all the rules. If you liked it, that's good enough! Why pander to anybody else? This was your own thing.

</comment></comment><comment><USER94> I know a guy in his 70s that still uses it.

</comment><comment><USER95> I don't miss any of that. I remember having to maintain "FrontPage Extension" on IIS systems back in those days, and it was rough.

</comment><comment><USER96> FrontPage was based on the Vermeer acquisition by Microsoft.

The book by the founder, "High Stakes, No Prisoners" should be required reading for anyone interested in doing an internet startup IMHO.</comment>


Hacker News Tokyo Japan Meetup #16 – Thursday 27th of September, 2012 - <AUTHOR> http://www.makeleaps.jp/blog/en/2012/09/%E3%83%8F%E3%83%83%E3%82%AB%E3%83%BC%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9tokyo-meetup-16%E5%9B%9E%E9%96%8B%E5%82%AC2012%E5%B9%B47%E6%9C%8827%E6%97%A5/

<comment><USER2> We're coincidentally holding the Kansai HN meetup the very next day!

<http://hnkansai.doorkeeper.jp/events/1688>

<comment><USER3> Thanks for posting this. I live in Kansai and had no idea. Just signed up! It's my first meetup.

<comment><USER4> Cool, glad you noticed through this post (the other one did not make the front page unfortunately). Looking forward to meet you in 2 weeks!

<comment><USER3> Looks like it made it's way around. :)

</comment></comment></comment></comment><comment><USER5> Last one was rather interesting. Recommended for anyone in Japan at the moment.

Can't remember any names though; hopefully everyone else will be in the same boat!

</comment><comment><USER6> In the Middle East/Qatar till the end of Nov, but looking forward to getting back...wish I could make it! Will be looking for events in December and next year!

</comment><comment><USER7> Shoot, I missed the last one due to some last minute plans and this time I'm not around either. Glad to see it's happening fairly often though!

</comment><comment><AUTHOR> Looking forward to this one. Roti is a really nice venue with some great food and craft beer available. See you all there!

</comment><comment><USER8> What is the frequency of those meetups? I go to Japan on holiday about once a year.

<comment><USER9> There's no fixed time, mostly because it's done voluntarily around work schedules, I believe. So far it's been about once every one or two months.

</comment></comment><comment><USER10> I'll be there, I'm in Tokyo until November</comment>


Should readers of ebooks be taxed to subsidize stores that sell printed books? - <AUTHOR> http://www.rexblog.com/2012/03/12/47066 <comment><USER2> Bastiat would certainly loved such a question.

Even I can invent a lot similar questions, like: _Should married couples be taxed to subsidize night clubs?_

</comment><comment><USER3> That should really read "should the internet be taxed to subsidize brick and mortar retailers?" because that's the next step if the e-book publishing model is taxed.

<comment><USER4> I'm all for it on one solitary condition; no taxation without representation. All brick and mortar retailers must carry all the costs for my ebooks to be sold as real books in their stores, including a small inventory in all their stores ensuring that the hardcopy is always available for any customer to buy at any time.

I think it's entirely fair. If publishers and book stores want to be paid by ebook consumers, then the consumers should have a reasonable expectation for access to any and all hardcopy versions of any ebook they could otherwise buy from a major reputable ebook retailer (AKA amazon) and have no expectation to wait for a copy to be mail-ordered in.

</comment></comment><comment><USER5> First off, and I write as somebody who is about to walk to a bookstore, No.

Second, trust me, Amazon is about as shy as John Rockefeller when it comes to squeezing suppliers.

</comment><comment><USER6> I'd argue we are already being taxed if they charge us the same price for kindle vs print.

<comment><USER7> I believe that's an issue with Apple though.</comment></comment>


Ask YC: Questions about defun and lisp in general - <AUTHOR>

I know this is not the best place to be asking lisp questions so if someone opposes to it, I make this once the single time I do it.
I've been reading PG's ACL book, and since coders are restless beings, of course I don't want to read the whole book to understand what went wrong with what I did. See, here at page 15 he defines this nice 'SUM-GREATER' function. It takes 3 arguments and returns true if the sum of the first two is greater than the third. Here it goes:
(defun sum-greater (x y z)
  (> (+ x y) z))
Not that hard. NOW, I know that the + function can accept any ammount of parameters so I was trying to figure out how to pass a list as one of the first two parameters (or both) and do not crash the function. Passing another sum doesn't count as a solution. What I am looking for is more on the lines of a C "..." parameter type.
Now, if I haven't annoyed enough yet, I know there is a mirc channel about lisp somewhere, but on which mirc net? I think I should ask future questions there. <comment><USER2> You're right that this is the wrong forum.

Anyway, the syntax you're looking for is &REST

        (defun x (y &REST zs) (...))

Good luck.

<comment><AUTHOR> Thank you. I looked into &REST and all the other ways I can declare parameters and I didn't think the Lisp defun could be so powerful. It is not a matter of how I can declare a function anymore but a matter of how I can't.

Where would it be the right forum?</comment></comment>


Apple Offering $700 Kit to Add Wheels to the Mac Pro - <AUTHOR> https://www.macrumors.com/2020/04/15/apple-mac-pro-wheel-kit/ <comment><AUTHOR> I'm reminded of MKBHD's video showing the wheels have no lock, so if you put your Mac Pro on a solid surface that's not 100% perfectly flat, it will start rolling away... [https://twitter.com/mkbhd/status/1232708514625310721](https://twitter.com/mkbhd/status/1232708514625310721)

<comment><USER2> I think Apple knows this is a deliberate error and will probably refresh this version and will introduce locks later on. Totally not worth buying into the first version of a Apple product.</comment></comment>