HNHacker News
TopNewBestAskShowJobs

TimJYoung

936 karma · joined October 23, 2010

President of Elevate Software, Inc.
submissionscomments
TimJYoung··on The fundamentalist FOSS mentality
I was thinking something similar while reading the blog post: the UNIX philosophy is to do one thing, do it well, and stop there. As you say, none of those things lend themselves to monetization if the source code is available for free and anyone can contribute to it or customize/fork it. You can't keep the software "on point" because anyone is free to add something completely unrelated to its core functionality. And, if you try to keep control of the situation, the person(s) can simply fork the project and spread FUD until your project is "persona non grata", so your ability to keep control of the software is only as good as your perceived standing in the community.

However, I could be missing something here in terms of licensing: can anyone stipulate how the various FOSS licenses could help with this situation ?

TimJYoung··on Show HN: Don't code your UI, draw it
We have such an environment, called Elevate Web Builder:

https://www.elevatesoft.com/products?category=ewb&type=web

Pros:

- Uses a statically-typed language (Object Pascal), compiled to JS, code compression is a simple build option, and the compiler is very fast:

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...

- Layout management is universal (not various, competing forms of layout) and easy to use:

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...

- You can create your own non-visual components and controls and install them into the IDE or share them with others:

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...

(the source code to the entire runtime and component library is included with the product)

- The look and feel of every control in an EWB application can be customized:

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...

- Uses icon fonts for icons (you can also use raster images, if you want), so applications look crisp on any device:

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...

- You can use any existing external JS code by coding an external interface to the external JS code (FFI), so even external JS code references will be type-checked by the compiler:

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...

Cons:

- The code editor is rudimentary and requires some more polish (code-completion, etc.)

- Debugging isn't supported via the IDE, yet

- There are still a few missing controls like a treeview and charts, but you can interface with JS products like HighCharts without issue

- The compiler still needs some work in the areas of interfaces, generics, and set support

We have a new Elevate Web Builder 3 coming out soon that has a new IDE and web/application server with built-in TLS, authentication, session management, role-based access control, database API, remote application deployment, and event logging. You can, effectively, manage and monitor any EWB 3 web server remotely from within the new IDE:

https://www.elevatesoft.com/ewb3ide_screenshot.png

Initially EWB 3's web server will be available for Windows only, but we will be offering a Linux/Mac daemon version in early 2019.

The ultimate goal for the product is to provide a single-language solution to both front-end and back-end applications with one-click application deployment and deployment of server instances.

(Sorry for the "advertisement" - I just see this sentiment come up a lot here, and I think it's important for people to know that that there are companies working on solutions)

TimJYoung··on Tim Berners-Lee says tech giants may have to be split up
I think we're talking past each other here (I understand what CDA 230 is supposed to do, I'm referring to how its been used/interpreted).

Here is, perhaps, a better version of what I'm trying to say:

https://www.ftc.gov/system/files/documents/public_comments/2...

Edit: the section re: 230 is towards the end.

Frontline just covered some of this with respect to FB, also.

TimJYoung··on Tim Berners-Lee says tech giants may have to be split up
Yes, but is it being used that way ? Everything that I've seen has indicated that service providers use this law to play it both ways: they actively control what users see through algorithms, but then claim that they are (largely) not responsible for the moderation of questionable content. IOW, they are not just a passive distribution point for information, and, in many cases, actively control the flow of information. Doesn't that intrinsically make them a publisher ?
TimJYoung··on Tim Berners-Lee says tech giants may have to be split up
I think the solution may lie with changes to, or removal of, Section 230 of the CDA:

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

I suspect that forcing those that host 3rd party content/discussion to actually moderate and control the discussion will keep the size of such online communities smaller, which is good. Or, they will simply need increase revenue so that they can properly moderate them. Either way, the toxic nature of a lot of the internet goes away pretty quickly, and companies will be forced to clean up their act.

TimJYoung··on Own the Demand
I'm not sure if we've seen this entirely play out yet. We're now seeing content companies (supply) starting to exert their power over the internet/media intermediaries (Disney is the recent example), so it may end up being a case that the intermediaries had a good thing going for a while, but...

IMO, you either produce something or you don't. Someone may be able to interject themselves into your transactions with your customers, but, ultimately, the power lies with the producer (they can just stop producing).

TimJYoung··on A single-page app is almost always worse than a multi-page app
Ahhh, yes, in that case it seems like you might possibly be better off (and happier ! :-) ) with just using a page-oriented architecture. It seems like the client-side state is just getting in your way, as opposed to being helpful in any way.

The way that I look at it is this: if you're going to do an SPA, then do it like you're writing a desktop client application: all content is manipulated on the client, the only requests to the back-end are for data (JSON/XML), and the client typically will maintain quite a bit of state. Complex applications that are ports of desktop applications and sit behind authentication dialogs are ideal candidates for SPAs. Here's an example case study of such an application from our company web site:

https://www.elevatesoft.com/articles?action=view&category=ew...

The one exception to this would possibly be something like an online manual/help browser application, in which you might be able to make an exception and have the content driven by an SPA, thus allowing for more control over advanced content navigation via a tree view or vertical menu.

In general, though, if you find yourself needing to do a lot of history/page management, then that is a good indication that you might be trying to shoehorn a traditional, page-oriented architecture into an SPA.

TimJYoung··on It's not okay to pretend your software is open source
"Why should I care about proprietary software competition?"

Because without it we all pay much higher prices than we normally would, and we get sub-par quality/innovation. Unless you're somehow intimating that proprietary software can be completely eliminated, but I don't think that's the case. I don't think that such views are grounded in reality.

"And how are they building these free software moats that stop other people?"

I think this has been demonstrated pretty clearly over the last 10-15 years: they use open source to direct the industry in ways that are beneficial to them, regardless of whether they are good for everyone else. And, it is often the case that there are serious issues for anyone that would want to compete against them in a specific area of software because they're now competing against "free". It forces companies to diversify into areas where they have little expertise, just to be able to compete. So, instead of a company being a developer tools company, they're now something else that also happens to give away developer tools. In the end, it favors large corporations over smaller enterprises in an industry that has traditionally been one with very low startup costs and lots of opportunity.

TimJYoung··on Kids’ Apps Are Crammed With Ads
Thank you for verbalizing something that has been on my mind a lot lately. We seemed to have reached this dystopian state where people will do all sorts of horrible things to others, but they do so with a smile on their face and we excuse the underlying behavior as "efficient" or use other forms of "market-speak" to explain away our treatment of one another. Frankly, I think it's a function of how large we've allowed our organizations (that govern our everyday lives) to become. Large organizations tend to be completely indifferent to the needs of individuals, and we need to start adopting a more proactive approach to breaking up organizations that become so big that they fail to properly serve their constituents anymore.

However, I think I agree with others that ads, in general, do not quite live up to the "abuse" term. But, for kids the term may very well fit and is one of the reasons why there was so much effort put into restricting these kinds of advertising in the past. Unfortunately, though, it seems like we've just thrown our hands up in the air and given up...

TimJYoung··on A single-page app is almost always worse than a multi-page app
Most JSON/data APIs for SPAs are similar to SQL database servers: maintaining a persistent connection is useful for performance reasons, but there's nothing about the API that dictates that it's required. The only state that is required across API calls is an authenticated session, and that is maintained on the server side.
TimJYoung··on A single-page app is almost always worse than a multi-page app
Legitimate question: if you have multiple pages, are you still actually creating an SPA ? That may be the problem that you're encountering, and I can sympathize. Nobody wants to transfer state across page loads, it's a mess...
TimJYoung··on A single-page app is almost always worse than a multi-page app
My problem with the idea that SPAs, as an idea, are inherently more difficult to develop is that this doesn't translate to desktop/mobile applications, which are, conceptually, very similar in architecture (fat UI client, app server on the back-end). What may be more true is that the way in which we develop SPAs is so flawed that it causes serious issues with quality/development effort. IOW, perhaps the issue is with JS and its limitations with large, complex client applications, not the SPA architecture.

Disclaimer: my company sells a web development product that creates SPAs that work like desktop applications.

TimJYoung··on It's not okay to pretend your software is open source
Actually, he's 100% correct. The way that open source is used by very large tech companies today is way, way worse than anything MS ever did. MS never got a stranglehold on the network in the way that companies like Google have been able to do.

Back in the 90s, if you wanted to run Novell, UNIX, or Linux instead of WinNT Server, there was nobody stopping you and there were a lot of options. The same with Office suites: there were actual competitors to MS Office through most of the 90s. There is much less competition in many areas of commercial software today, and one of the primary reasons is that open source software has become a vehicle that large software companies use to drive competitors out of markets and solidify their positions in complementary markets. Yes, consumers benefit in the short term, but it allows these companies to build moats that make it very hard, or impossible, for future startup competitors to overcome. We all want to point our fingers at Oracle, MS, IBM, and say that they are the issue, but when every major player in the industry does the same thing, it starts to become more and more obvious that the problem may not be with the individual companies involved.

Also, public roads are a bad metaphor for software: there isn't a market for public roads, and software can always be innovated upon (as an aside, it drives me nuts when people declare something "solved", especially when the reason for doing so is ideological or political).

TimJYoung··on Fear, trust and JavaScript: When types and functional programming fail
Yep, that makes sense, thanks.
TimJYoung··on Fear, trust and JavaScript: When types and functional programming fail
Yes, I understand how JS works. My company markets and sells a web development IDE that includes an Object Pascal->JS compiler.

Re: your definition of "internal": I suspected that this was what you meant. I also disagree with this particular version of "correctness". If the developer intended that a particular function accept an integer, then accepting anything else is essentially a bug, and the fact that it works at all is down to pure coincidence.

As for writing tests in OP: you write tests in the same manner that you do with Java, C++, C#, etc.

TimJYoung··on Fear, trust and JavaScript: When types and functional programming fail
"Static typing is just for internal quality."

Frankly, I don't even know what to do with such a statement. What is your definition of "internal" ?

I just did a very large re-factor of a codebase a few days ago where I changed a lot of event handler (method) types in a codebase of around 200K lines of code (Object Pascal). This means that the method signature of every single event handler could have been wrong in some way if I made a mistake, and it would have introduced a pretty egregious, non-internal bug in every case. How would you test such a massive change without replicating every single thing that a static type system and compiler already do for you ?

TimJYoung··on Fear, trust and JavaScript: When types and functional programming fail
All good points, but I'm having a hard time with this statement:

"There is still value in a function declaring that its argument is of type User (and not defensively checking it) even if it is theoretically possible, in the presence of a bug, though unlikely, that the argument is not really a User."

I'm trying to think of a statically-typed language that would allow such a thing, and I can't, so I assume that you're referring to TypeScript here where you have a world where things are "partially-typed" ?

TimJYoung··on Do the Rich Capture All the Gains from Economic Growth?
You cannot pursue "pure capitalism" to its logical end. Like "pure communism", it just ends in misery and suffering for everyone.

"Productivity" cannot be re-defined so that those that do the actual labor are removed from the equation. If a company or firm produces more revenue, than it's a simple value judgement as to how that revenue is distributed, and, right now, those at the top of company management and investors are the only people making that decision. Organizations like unions simply change how that decision is made by re-balancing the power involved with the decision. You may want to keep all of the revenue gains from your automation to yourself and your investors, but you may not be able to if it means that most of your workforce walks off the job. Likewise, you can automate your entire operations with robots and computers, but good luck trying to sell whatever it is you're producing when everyone is (effectively) unemployed.

TimJYoung··on Do the Rich Capture All the Gains from Economic Growth?
Better is a very subjective term here, which was my point. The lower-to-middle class person is still subject to all kinds of economic issues that are of zero concern to the wealthy person.
TimJYoung··on Do the Rich Capture All the Gains from Economic Growth?
If you pursue "efficiency" to extremes like this, you're going to bump up against political and social realities that are going to ruin your efficiencies in ways that make giving pay increases seem like a no-brainer.
TimJYoung··on Do the Rich Capture All the Gains from Economic Growth?
Correct me if I'm wrong, but is he trying to say that if a lower-to-middle-class person now makes $10K more than his parents (who made $40k combined), that somehow that is better than the wealthy person that now makes $10K less than his parents (who made $1.2m combined) ?

I think this deserves a "man on the street" survey to see which income most people would prefer...

TimJYoung··on Unikernels: No Longer an Academic Exercise?
Beautiful, thanks for the links.
TimJYoung··on Alex Stamos: Asking tech companies to police hate speech is “a dangerous path”
Only if you assume that everything that a given person says is bad/unwelcome. But, people aren't like that, and hold all kinds of different views on different subjects, some of which they may have extensive background in, and others that they are just pulling out of their nether regions and are subject to all kinds of biases.

For example, despite what anyone thinks about what Trump says (I think he's an idiot and a clown), he does occasionally say something that isn't complete BS (please don't make me try to find such an example).

You just can't go down that route and expect a good outcome. In fact, I would argue that you're going to end up with the opposite result that you intended because you'll, inadvertently, end up giving more attention to idiotic ideas than the ideas actually deserve.

TimJYoung··on Unikernels: No Longer an Academic Exercise?
We're talking about pretty significant improvements in network I/O performance (among other things) with a unikernel, correct ? My understanding is that there have been several projects that have revolved around putting Linux network drivers into userspace so as to improve the throughput and avoid the kernel mode switch.
TimJYoung··on As U.S. fertility rates collapse, finger-pointing and blame follow
I'm not sure that this is such a bad thing, given that more and more people are working non-physical jobs and can continue to do so as they get older. Personally, I have no problem with anyone that worked physical labor their whole life retiring earlier with benefits while I continue to work. I like my work, and it's been a pretty easy life, comparatively.
TimJYoung··on Do We Worship Complexity?
Coming from a (primarily Windows) desktop development background, I can definitely tell you that JS/HTML/CSS and the DOM is some of the most complex, over-engineered stuff to ever see the light of day. It seems simple, but that's because it was simple initially, and now it's grown into this monster that has very little design at all and is just piles and piles of APIs and code added on top of other APIs and code.

Desktop development is blessedly simple, in contrast. The problem is that desktop development APIs and UI toolkits have been neglected for many years in favor of web and mobile, so now desktop development is also a fractured mess because much of it is outdated or hasn't kept up with current graphic design and UI standards. But, at its core, desktop development doesn't struggle with oddball concepts like promises and other bizarre features that were introduced to overcome issues with the overall design of the language/environment.

TimJYoung··on Cannabis is legal in Canada: What you need to know
Why the World is Running Out of Pilots:

https://www.youtube.com/watch?v=cognzTud3Wg

Edit: I'm not a pilot, just a kid that never grew up and likes airplane stuff...

TimJYoung··on Making Windows Slower Part 2: Process Creation
Yes:

https://docs.microsoft.com/en-us/windows/desktop/api/fileapi...

TimJYoung··on The future’s so bright, I gotta wear blinders
You can watch the Joe Rogan episode on YouTube to see her side of the story in its entirety.

But, regardless of what she gives as the reasons for this particular tweet: no, there is no way that someone should be judged entirely by the contents of a single tweet. A tweet is a very poor summary of one's character or who they really are, especially if the judgement of the author was impaired. Everything that I've seen indicates that Roseanne is actually very liberal, has been for many years, and that she is in no way a racist person.

TimJYoung··on The future’s so bright, I gotta wear blinders
Yes, that is a great quote - a lot of insight packed into a short sentence. I cannot seem to remember where I saw this said (it was a video, probably Sam Harris's podcast), but it was effectively the same idea: we're simply going to adapt in a way that allows everything to keep moving forward.

I must say that, as a developer, this answer was completely unsatisfying. It doesn't sound like a "flip a switch" kind of solution... ;-)

← PreviousPage 2 of 18Next →