HN user

revetkn

317 karma

software from the philly burbs

Posts5
Comments90
View on HN
Making 6 hours ago

To me, the idea is that you have something in your head and you want to "project" it into reality. I suppose the difference between makers and producers then is that makers happen to enjoy the labor part of that projection, while producers don't particularly care about it (nor want to care).

Yes - the JdbcClient API has a similar feel for sure. If you are using Spring, it is a better choice than Pyranid because it integrates well with the Spring txn plumbing. Outside of Spring, I think Pyranid has a lot of advantages.

If you use Java and like to write SQL, check out https://pyranid.com

I stopped using ORMs around 2008 because they made the easy problems easier and the hard problems harder. I wanted to just write SQL and exploit all the power the DBMS has to offer instead of fighting with an abstraction layer, so I created Pyranid in 2015 and keep it actively updated.

There is no public-facing continuations API afaik.

Structure concurrency/virtual threads seem like a good fit for Swing; just have your event handler fire off virtual thread[s] and do your work and call SwingUtilities.invokeLater to schedule the result to be applied on the event loop thread when you're done. Structured concurrency simplifies managing groups of concurrent tasks, cancelation, etc.

Regarding "What's wrong with what .NET did with threads?", see https://cr.openjdk.org/~rpressler/loom/Loom-Proposal.html (relevant part below):

  An alternative solution to that of fibers to concurrency's simplicity vs. performance issue is known as async/await, and has been adopted by C# and Node.js, and will likely be adopted by standard JavaScript. Continuations and fibers dominate async/await in the sense that async/await is easily implemented with continuations (in fact, it can be implemented with a weak form of delimited continuations known as stackless continuations, that don't capture an entire call-stack but only the local context of a single subroutine), but not vice-versa.

  While implementing async/await is easier than full-blown continuations and fibers, that solution falls far too short of addressing the problem. While async/await makes code simpler and gives it the appearance of normal, sequential code, like asynchronous code it still requires significant changes to existing code, explicit support in libraries, and does not interoperate well with synchronous code. In other words, it does not solve what's known as the "colored function" problem.
Regarding Swing, virtual threads are "just" threads so no reason they (and structured concurrency) can't be used.

In my experience, LLMs are terrific for most translation tasks, but you still need a way to encode the data (rules for genders, cardinalities, ordinalities, ...) for storage on disk/database/etc. for 1. performance and 2. consistency/durability. So LLMs are a big part of the solution, but not the whole picture.

My project, Lokalized (from 2017, in Java), has the same goal but took a different approach to the "little language" design. I'm guessing I had the same inspiration as the Fluent authors - existing solutions were just not expressive enough for the real world. Mentioning here because I'm always super interested in seeing how others approach the problem of effective i18n (it's a bit complex). Making Fluent more of a spec was the right call imo; I did not do that with my work.

https://lokalized.com

GPT-4 3 years ago

Is cognition a set of weights on a gradient? Cognition involves conscious reasoning and understanding.

What is your definition of _conscious reasoning and understanding_?

Maybe, but the last straw for me on that platform was preventing tweets from linking to arbitrary, non-doxxing Mastodon profiles (try it and see). I tested it to confirm and deactivated my account afterwards. Who would want to be on a social network like that?

Both Java.

Pyranid - https://www.pyranid.com

I prefer SQL to ORMs and I don't like libraries with dependencies. Really simple mapping of resultsets to Java objects. Plays nicely with DI (I like Guice a lot).

Lokalized - https://www.lokalized.com

Another no-dependencies lib. I don't think any other platform handles translations in a powerful enough way. The magic is a simple expression language that lets the translator specify rules (e.g special cases for certain languages to be more "natural sounding") instead of embedding all that logic in code.

Localizing well has a lot of complexity - gender, cardinal, ordinal, etc. rules, and then how to combine them with locale-specific special cases (e.g. in Spanish, a 15-year-old birthday girl is a quinceañera)

I am attempting to solve this with a small library that offers full CLDR coverage and a special expression language.

See https://www.lokalized.com

Currently for Java 8 but am porting to JS and Python (probably Swift after those)

IMO in 2016 it is important to know the basics well enough to know if what you're doing is bad from an i18n perspective (at least for non-junior positions). Even a comment like "// TODO: localize" is OK

It is often a positive signal that a candidate has worked on software large enough to be used internationally or is thorough enough to worry about it. For most of us, day-to-day software work is about being thorough and careful with design and implementation, not heavy algorithmic lifting

1. "On this particular challenge, I am expecting many will use RegEx as a part of the solution"

Really?

2. "replace(/[^a-z0–9]/ig, '');"

If I were interviewing and a candidate did this I would ask if he/she knows what i18n is

"Unintentional" as in "pretty sure it was an old copy-paste from another app and we forgot to take that line out" :) I don't like the scroll locking myself, even when applied "correctly".

Hopefully the site is at least navigable now on Mobile Safari. We will be revisiting the mobile experience soon. Had not been focusing much on it since the app is form-heavy and doesn't lend itself well to mobile, but for the marketing site we certainly need to focus on it more...first impressions are very important, and a broken page is not a good one! Thanks for your feedback.

The basic idea is we wanted a hosted Postman which allows you to wire your endpoints together "lego-style" into workflows (step 1 is authenticate, step 2 is fetch a list of users, step 3 is update the first user in the list). You can then shoot someone a URL and they can hit the "play" button and the API calls execute before their eyes. Some other notable features we've added are team support, versioning, and dependency tracking.

The drawback of most hosted services like this is you can't see things on private networks, like localhost or a corporate intranet. We have an OS X native app to circumvent this and a Windows version is coming soon.

We'll try to answer any questions you might have, thanks for checking it out!

Transmogrify - http://xmog.com - Philadelphia, PA Suburbs

We’re a software shop located in the heart of Conshohocken, just a 5-minute walk from the R6 line. The team is a tight-knit blend of designers and developers and we are on the lookout for more engineering talent. If you have experience with these technologies, we’d like to talk to you! Email jobs@xmog.com and let us know you found us via Hacker News.

Preferred skillset:

  * Modern Server-side Java (Jetty, Jersey, Guice, Guava, …)
  * Client-side JS (Angular, React, Backbone, …)
  * RDBMS/SQL experience (Postgres, Oracle, …)
  * Android
  * Ability to work effectively on a team and collaborate with designers
  * A sharp eye for detail (you’re the kind of person who worries about error handling and edge cases!)
Nice-to-haves:
  * iOS (Objective-C, Swift a plus)
  * Server-side JS (Node, io.js, …)
  * NoSQL (Cassandra, …)
  * DevOps chops (AWS, …)
  * Any other interesting software experience

Pretty much a full admission that everything that Julie said is true.

I have no idea whose side of the story is accurate, but there was really no other way for Github to play this, whether they were in the wrong or Julie was in the wrong.