Hacker Newsnew | past | comments | ask | show | jobs | submit | username_my1's commentslogin

I still remember the 2015 alexa 100M$ fund and the buzz around everything voice first.

https://www.geekwire.com/2015/amazon-makes-echos-alexa-avail...

of course it wasn't as big as this new AI push, but since the 80s AI over promised and under devlivered, it's not the fault of AI, but the greed of the business people.


remember Cortana?


I'm always confused by the need for humanoid robots in heavy industry.

isn't it always easier to build factories machine first ?

same as the idea of building self driving cars enabled tracks with sensors and all instead of trying to resolve self driving cars in the wild.


You're right, which is why factories are already automated that way.

Where humans still reign supreme is in two areas: assembly and work in human-centered environments.

So, it's a lot easier to have a human welder do welding inside a Hyundai-built ship because the interior of the ship is designed for humans to walk around.

Likewise, it's easier for humans to work with machines on assembly, because humans are flexible and assembly lines typically need to be rapidly reconfigured for different production runs.

A purpose-built facility excels at maximizing throughput for mass produced parts (paperclips), but doesn't work well for lower-volume integration tasks (cars, ships, etc.).


I wouldn't be surprised if a large chunk of this order is for non-humanoids: https://bostondynamics.com/products/stretch/


I remember an old interview with Musk where he said that when he just got into manufacturing, he would try to automate all the things, but then found that it makes the assembly line overly rigid and difficult to improve, especially when they're still learning about a new assembly process. So he switched to only automating only the obvious parts at start, keeping humans in the loop for every step where it's not entirely clear how best to perform it, and then automate these other steps gradually as they learn.

So I assume that the idea is that humanoid robots could fully replace some of these temporary roles (or allow a single human to operate several robots), maintaining flexibility while a new production line is optimized, and then easily moved off to another.


Pretty sure he was simply informed of all of that and he put himself on a pedestal as the CEO as he's done for countless interviews.

He seems to have a mostly surface level of understanding of what goes on at his companies, which is all a CEO needs. But it doesn't justify all the people I see idolising him as some sort of technical God. I heard he's a master of PoE, too ;)


Yeah, I suppose that could be true, but I don't think it takes away from the reasoning process and the benefits of holding off on premature full automation.


You build a factory machine. Then the job changes and you need to build an entirely new machine. You offer a new product with a different shape and you need to build an entirely new machine.

Doesn't have to be humanoid specifically but a roaming robot based on biological patterning is so much more capable for retooling.


Boston Dynamics makes other robots as well. I think the key innovation behind their robots is broad applications and easy programming. While making a custom factory robot could take a half year, configuring and installing a Boston Dynamics robot takes days.


The APIs where designed for humans, AI learns the world through the spectacles of a human.


The appeal is to replace workers by using a generic platform, that when mass produced, costs less and don't require retooling. One human commodity for a mechanical one.


why do they need to _look_ human though? two legs, torso, head, two arms, does a robot need that. Why not just a giant arm (or five whatever) that can roll around?


Evolution's optimisation pressure on the humanoid shape has already done a lot of that work for us. Certain instruments like the hand and thumb are very thoroughly refined in humans. On top of that, most interfaces in the world are already designed for humans, so by making a humanoid robot you guarantee it can operate in a superset of environments that a human can.


They explicitly want robots that can replace what humans currently do, in existing human workstations, etc. You don't have to redesign a tractor for a humanoid bot. This is a kind of skeuomorphism but more functional than ornamental.


There is a lot of machinery that is designed to be operated by humans using their arms and legs, a lot of processes built around it. The appeal of humanoid robots is in the idea that all this stuff wouldn't need to change. Whether or not this is possible remains to be seen


Hot swappable parts. Any job can be performed by any worker be they human or humanoid.


Marketing.


Not heavy industry, but here is a video of an automated grocery warehouse: https://m.youtube.com/watch?v=ssZ_8cqfBlE

If you stick with the human first design, you miss out on enormous potential efficiency gains.


maybe it's a generational difference ? I personally feel burned out by all the generetive AI stuff, the internet was already ruined with bots, and now generitive AI took the garbage to the next level.

very far from exciting or even "right"


It’s still better that blockchain-this, crypto-that…


Crypto is a disease of the skin; AI is a disease of the heart. – Chiang Kai Shek


This also blows my mind, instead of adding more berucracy to apply for funding to review funding to give funding.

just give tax credits based on innovation / investment criteria, to both companies and employees, Europe needs digitalization so badly, yet they find more complex ways to enable it.


Tax credits make sense for companies already with a steady profit margin. Cloud in particular is a capex heavy business so for a new company that is not very useful for at least the first few years.


that's why you give credit to investors not just compnaies.


Just give it to the companies. That still incentivises equity investment (it lowers risk and raises the potential upside of profitability). It also make underwriting standard loans easier too.


> just give tax credits

On what? The EU doesn't levy any taxes and has no authority to.

The reason they're paying with grants is because that's what they've got.


regex is useful but chatgpt is amazing at it, so why spend a minute keeping such useless knowledge in mind.

if you know where to find something no point in knowing it.


Does gpt produce efficient regex? Are there any experts here that can assess the quality and correctness of gpt-generated regex? I wonder how regex responses by gpt are validated if the prompter does not have the knowledge to read the output.


You don't have to be an expert; you should very rarely be using regexes so complex that you can't understand them.


It might not be obvious when you hit that point, bad regexes can be subtle, just see that old cloudflare postmortem.


Even simple regexs can be problematic, e.g. Gitlab RCE bug through ExifTools

https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execu...

> "a\ > ""

> The second quote was not escaped because in the regex $tok =~ /(\\+)$/ the $ will match the end of a string, but also match before a newline at the end of a string, so the code thinks that the quote is being escaped when it’s escaping the newline.


...and if you can understand them then you clearly understand regex enough not to need ChatGPT to write them


I understand assembly too.


The only time you'd want to write assembly in production code would be if you need to hand roll some optimisation. So I don't really understand your point here,


That was one of my first uh oh moments with gpt. Getting code that clearly had untestable/unreadable regexen, which given the source must have meant the regex were gpt generated. So much is going to go wrong, and soon.


what does gpt say how we should validate email addresses?


Prompt:

'I'm writing a nodejs javascript application and I need a regex to validate emails in my server. Can you write a regex that will safely and efficiently match emails?'

GPT4 / Gemini Advanced / Claude 3 Sonnet

GPT4: `const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;` Full answser: https://justpaste.it/cg4cl

Gemini Advanced: `const emailRegex = /^[a-zA-Z0-9.!#$%&'+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)$/;` Full answer: https://justpaste.it/589a5

Claude 3: `const emailRegex = /^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/;` Full answer: https://justpaste.it/82r2v


Whereas email more or less lasts forever (mailbox contents), and has to be backwards compatible with older versions back to (at least) RFC 821/822, or those before. It also allows almost any character (when escaped at 821 level) in the host or domain part (domain names allow any byte value).

So a Internet email address match pattern has to be: "..*@..*", anything else can reject otherwise valid addresses.

That however does not account for earlier source routed addresses, not the old style UUCP bang paths. However those can probably be ignored for newly generated email.

I regularly use an email address with a "+" in the host part. When I used qmail, I often used addresses like: "foo-a/b-bar-tat@DOMAIN". Mainly for auto filtering received messages from mailing lists.


Still doesn't support internationalized domain names.


Terrible answers as far as I can tell, especially Chat got would throw out many valid email addresses.


chatgpt-4:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

https://chat.openai.com/share/696f7046-7f43-4331-b12b-538566...

chatgpt-3.5:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

https://chat.openai.com/share/aaa09ae8-3fd9-4df7-a417-948436...


…which both excludes addresses allowed by the RFC and includes addresses disallowed by the RFC. (For example, the RFC disallows two consecutive dots in the local-part.)


I take the descriptivist approach to email validation, rather than the prescriptivist.

I know an email has to have a domain name after the @ so I know where to send it.

I also know it has to have something before the @ so the domain’s email server knows how to handle it.

But do I care if the email server is supports sub addresses, characters outside of the commonly supported range (eg quotation marks and spaces), or even characters which aren’t part of the RFC? I do not.

If the user gives me that email, I’ll trust them. Worst case they won’t receive the verification email and will need to double check it. But it’s a lot better than those websites who try to tell me my email is invalid because their regex is too picky.


The HTML email regex validation [1] is probably the best rule to use for validating an email address in most user applications. It prohibits IP address domain literals (which the emailcore people have basically said is of limited utility [2]), and quoted strings in the localpart. Its biggest fault is allowing multiple dots to appear next to each other, which is a lot of faff to put in a regex when you already have to individually spell out every special character in atext.

[1] https://html.spec.whatwg.org/multipage/input.html#email-stat...

[2] https://datatracker.ietf.org/doc/draft-ietf-emailcore-as/


I generally agree, but the two consecutive dots (or leading/trailing dots) are an example that would very likely be a typo and that you wouldn’t particularly want to send. Similar for unbalanced quotes, angle brackets, and other grammar elements.


I wonder whether simply (regex) replacing a sequence of .'s with a single one as part of a post-processing step would be effective.


That would be bad form, IMO. The user may have typed john..kennedy@example.com by mistake instead of john.f.kennedy@example.com, and now you’ll be sending their email to john.kennedy@example.com. Similar for leading or trailing dots. You can’t just decide what a user probably meant, when they type in something invalid.


Yeah, that's about as far as I've ever been comfortable going in terms of validating email addresses too: some stuff followed by "@" followed by more stuff.

Though I guess adding a check for invalid dot patterns might be worthwhile.


What is maybe more important to note, it completely disallows the language of some 4/5 of the humanity. And partially disallows some 2/3 of the rest.


Actually pretty good response if the programmer bothers to read all of it

I'd be more emphatic that you shouldn't rely on regexes to validate emails and that this should only be used as an "in the form validation" first step to warn of user input error, but the gist is there

> This regex is *practical for most applications* (??), striking a balance between complexity and adherence to the standard. It allows for basic validation but does not fully enforce the specifications of RFC 5322, which are much more intricate and challenging to implement in a single regex pattern.

^ ("challenging"? Didn't I see that emails validation requires at least a grammar and not just a regex?)

> For example, it doesn't account for quoted strings (which can include spaces) in the local part, nor does it fully validate all possible TLDs. Implementing a regex that fully complies with the RFC specifications is impractical due to their complexity and the flexibility allowed in the specifications.

> For applications requiring strict compliance, it's often recommended to use a library or built-in function for email validation provided by the programming language or framework you're using, as these are more likely to handle the nuances and edge cases correctly. Additionally, the ultimate test of an email address's validity is sending a confirmation email to it.


Not good at all, but a little better than expected. I use + in email addresses prominently and there are so many websites who don't even allow that...


Remember to first punycode the domain part of an email address before trying to validate it, or it will not work with internationalized domain names.


Support for IDN email addresses is still patchy at best. Many systems can’t send to them; many email hosts still can’t handle being configured for them.


There really ought to be a regex repository of common use cases like these so we don't have to reinvent the wheel or dig up a random codebase that we hope is correct to copy from every time.


> if you know where to find something no point in knowing it.

Nonsense. And you know it.

First, you need to know what to find, before knowing where to find it. And knowing what to find requires intricate knowledge of the thing. Not intricate implementation details, but enough to point yourself in the right direction.

Secondly, you need to know why to find thing X and not thing Y. If anything, ChatGPT is even worse than google or stackoverflow in "solving the XY problem for you". XY is a problem you don't want solved, but instead to be told that you don't want to solve it.

Maybe some future LLM can also push back. Maybe some future LLM can guide you to the right answer for a problem. But at the current state: nope.

Related: regexes are almost never the best answer to any question. They are available and quick, so all considered, maybe "the best" for this case. But overall: nah.


While I agree with your point that knowing things matters, it is entirely possible with the current batch of LLMs to get to an answer you don't know much about. It's actually one of the few things they do reliably well.

You start with what you do know, asking leading questions and being clear about what you don't, and you build towards deeper and deeper terminology until you get to the point where there are docs to read (because you still can't trust them to get the specifics right).

I've done this on a number of projects with pretty astonishing results, building stuff that would otherwise be completely out of my wheelhouse.


Funny for me there have been instances where the LLM did push back. I had a plan of how to solve something and tasked the LLM with a draft implementation. It kept producing another solution which I kept rejecting and specifying more details so it wouldn't stray. In the end I had to accept that my solution couldn't work, and that the proposed one was acceptable. It's going to happen again, because it often comes up with inferior solutions so I'm not very open to the reverse situation.


I should have clarified better. Because, indeed, I have the same experience with copilot. Where it suggested code that I disliked but was actually the right one and mine the wrong one.

I was talking about X-Y on a higher level though. Architecture, Design Patterns, that kind of stuff. LLMs are (still?) particularly bad at this. Which is rather obvious if you think of them as "just" statistical models: it'll just suggest what is done most often in your context, not what is current best for your context.


Yea I don't think the crop of LLM is useful for this. They let themselves be lead by what's written, and struggle to understand negation even. So when I suspect there is a better solution, I have a hard time getting such an answer, even if asking explicitly for alternatives. I doubt it's just a question of training, they seem to lock themselves on the context. When using Phind, this is somewhat mitigated by mixing in context from the web, which can lead to responses that include alternatives.


This is something ChatGPT would say.


Sure, why bother understanding anything if ChatGPT can just produce the answers for you ;). You don't have to understand the answers even. Actually you don't need to understand the question also. Just forward the question from your manager to ChatGPT and forward the answer back to your manager ;). Why make life difficult for yourself?


As far as I know it's also the only company in the world where the US goverment has a major stake in (25% I think).

Good news is that China has delivered their 8mm lithography machines and are promising 3mm sometime in the next two years. maybe this will introduce more competion down the road


> ... 8mm lithography machines and are promising 3mm sometime in the next two years.

Wait what? I've soldered SMD parts smaller than that, I guess I could do 3mm lithography free-hand with a good razor blade.

Sounds like I'd have a nice head-start in the "cutting-edge" field of sub-centimeter lithography.


I think GP means nm, not mm


> Good news is that China has delivered their 8mm lithography machines and are promising 3mm sometime in the next two years. maybe this will introduce more competion down the road

I have my doubts about this.

SMIC is still struggling with 7nm, unable to deliver at scale. 3nm in two years sounds like a leap.


I don't see any listing for USG in their shareholders?

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


>China has delivered their 8mm lithography machines

Do you mean 28nm?

https://www.tomshardware.com/news/chinas-first-28nm-capable-...


do you have a source to cite for this?


No way immigration doesn't help, I see this in germany help so many startups enter the market and build successful businesses that drive the economy.

The problem is that it's not a solution, the solution is to constantly push against inequility and increase social mobility while investing in productive industries (less housing speculations more manufacturing).

those are tough bills to swallow and they will lead any elected goverment out of the office, because strong shifts to an economy like this come with a lot of short term pain. and no one is willing to setdown and deal with 10 years of poor economy so that the future of the country is better.


> No way immigration doesn't help

Traditionally, it has been helping. It's not been helping for a couple of years now.

> strong shifts to an economy like this come with a lot of short term pain. and no one is willing to setdown and deal with 10 years of poor economy so that the future of the country is better.

This is the problem in a nutshell, we need to make changes and we can't stomach it politically.


it blows my mind that you can use sqlite with csv as input and then query it, it sounds so logical and useful yet I never came by it.

we have lots of reporting in CSV, can't wait to start using it to run queries quickly


You should checkout powershell; it supports converting CSV into in-memory structured data and then you can run regular powershell queries on that data:

    $> csvData = @"
       Name,Department,Salary
       John Doe,IT,60000
       Jane Smith,Finance,75000
       Alice Johnson,HR,65000
       Bob Anderson,IT,71000
       "@;
    
    $> csvData
         | ConvertFrom-Csv
         | Select Name, Salary
         | Sort Salary -Descending
    
       Name          Salary
       ----          ------
       Jane Smith    75000
       Bob Anderson  71000
       Alice Johnson 65000
       John Doe      60000
You can also then convert the results back into CSV by piping into ConvertTo-Csv

    $> csvData
         | ConvertFrom-Csv
         | Select Name, Salary
         | Sort Salary -Descending
         | ConvertTo-Csv
         
       "Name","Salary"
       "Jane Smith","75000"
       "Bob Anderson","71000"
       "Alice Johnson","65000"
       "John Doe","60000"


nushell does too:

    /tmp/> "Name,Department,Salary
    ::: John Doe,IT,60000
    ::: Jane Smith,Finance,75000
    ::: Alice Johnson,HR,65000
    ::: Bob Anderson,IT,71000" |
    :::     from csv | 
    :::     select Name Salary | 
    :::     sort-by -r Salary
    ╭───┬───────────────┬────────╮
    │ # │     Name      │ Salary │
    ├───┼───────────────┼────────┤
    │ 0 │ Jane Smith    │  75000 │
    │ 1 │ Bob Anderson  │  71000 │
    │ 2 │ Alice Johnson │  65000 │
    │ 3 │ John Doe      │  60000 │
    ╰───┴───────────────┴────────╯


for something a bit more robust, check out DuckDB. It's a library you can embed, use it to run SQL on local files as well as connect to databases, do joins, analytics, etc.


Agreed. The article mentioned duckdb and I'm her to thumbs-up the use of DuckDB wholeheartedly. If you like the world of public CSV files as data sources that you can query or cross-query, duckdb is the tool for you. Just follow the demo on the duckdb website and you'll be wow'd for sure.


I use both, and I have found it helpful to have nushell around when munging csv and parquet files, even when working with duckdb - I find it quicker to ask for the first few rows of a thing or do simple stuff with it, then deeper analysis with duckdb.

They're a powerful pairing


Crazy how similar the commands are.


qsv (https://github.com/jqnatividad/qsv) also has a sqlp command which lets you run Polars SQL queries on CSV(s).

Here I'll:

  - Send the csv data from stdin (using echo and referred to in the command by -)
  - Refer to the data in the query by stdin. You may also use the _t_N syntax (first table is _t_1, then _t_2, etc.), or the file name itself before the .csv extension if we were using files.
  - Pipe the output to the table command for formatting.
  - Also, the shape of the result is printed to stderr (the (4, 2) below).

  $ echo 'Name,Department,Salary
    John Doe,IT,60000
    Jane Smith,Finance,75000
    Alice Johnson,HR,65000
    Bob Anderson,IT,71000' |
    qsv sqlp - 'SELECT Name, Salary FROM stdin ORDER BY Salary DESC' |
    qsv table
    
    (4, 2)
    Name           Salary
    Jane Smith     75000
    Bob Anderson   71000
    Alice Johnson  65000
    John Doe       60000


You do realize that this happened also on the article? I.e. In memory and autoinference


You might find a lot of interesting tools in the Datasette ecosystem. Data dashboarding for SQLite with all sorts of import and export and visualization plugins.

https://datasette.io/


What’s really interesting about it is that Awk is now, finally, getting support for CSV. But I bet a large amount of Awk+CSV use cases can be met with SQLite and SQL+CSV.


AWK's new CSV and UTF-8 support is great, but when querying data I think in terms of SQL.


The clickhouse-local tool is also really great for querying a bunch of systems, and it has connectors and converters for a whole bunch of other systems and formats.


Have you used duckdb? It's great for that.


Look at duckdb. Queries against csv, parquet, Jason, locally or via http. It’s like SQLite, but faster and better.


Or the vnlog tools can do this. There are many ways to do data processing on the commandline now.


There's a chance this HN post is going to more than halve my awk-usage....


perl with the right plugins makes data janitor situations simplified.


Not necesarly the only way as someone who often interviews candidates, if I'm getting bombarded by spam applications, the least you can do for me to take your CV seriously is a cover letter related to the job posting / company.

I don't understand any candidate who sends out a letter without researching the company for 30 minutes and taking another 10 to write a thoughtful cover letter. if you're not willing to put that effort into your potential future position, it's not even worth opening the CV from my side.


>I don't understand any candidate who sends out a letter without researching the company for 30 minutes and taking another 10 to write a thoughtful cover letter.

I sent a cover letter to my first 3 jobs. They never checked it. Never directly asked but it comes up in conversation at some point when talking about other new recruits.

I don't see the point in a CV if you're reaching out to the recruiter. That fried request message on LinkedIn or first email is your "cover letter". Letting them know who you are and what you want.


That goes a long way, tailoring the CV and, if absolutely needed, cover letter for each application. The CV also when recruiters reached out to you, as they still have to present it to HR and hiring managers (also having a recruiter presenting the CV and candidate helps a lot, and means the CV can be a bit less polished). And if recruiters, or the companies behind them, require a cover letter, being contacted first by the recruiter makes writing those a lot easier since you don't have to cold sell yourself as much. And the first discusion / phone screening, ehich propably didn't require a cover letter, gives you hints and hooks to use in the letter (I say that as person who hates selling myself and especially writing cover letters, also I found my last job that way).

Now the trickey part is, so, to have solid recruiters hiring for real positions reaching out to you. For some reason, they did in my case more or less every time I kind of needed it. I have not the slightest clue so why, my LinkedIn profile was up to date but far from polished...

Well, I content myself with being lucky for some reason, and I am aware how lucky I am when it comes to that and quite grateful to universe, and hope to never have to go through that whole process again, because applying, getting new jobs, tinse and repeat, gets stressful at a certain point. And now I reached a point in my career where I like the stability of a job, collectively (and relatively high) bargained salary, good, bordering very good to almost stellar, retirement benefits, I job that is truely challenging (new stuff that allows me use my experience almost completely, while being borderline scary at times) working on a product for which projected end-of-service-life is over a decade after my legal retirement age.

That being said, I had a period in which I had to write a ton of applications whipe seeing the clock running down on my unemployment benefits. That alone can be soul crushing, so I try to cut people somenslack when it comes to CV and cover letter polishing. It still means one shouod put some thought behind both tasks so.


I will never do cover letters-- "Hey, spend 30-60 minutes on this so we can slip it into the pile of 500 applicants where it will never see the light of day! Yay!"


I've been on the interviewer side too and I must say that I had the complete opposite experience. I've never seen a cover letter help a candidate (they mostly don't get read at all), only hurt a candidate chances. I wouldn't even read them unless they had glaring issues (like it's way too long) in which case I'd bin the applicant.


I think there is no issues in bundling software to provide a turn key solution, that way the customers can focus on their business, not the complexity that comes with digital solutions.

with that being said, I'm pretty sure marketplace regulations (such as booking.com) forces the marketplace to be out of the money flow. so this should be on the PSP side, it's strange that booking.com is halting payments this way.

another point is that they're collecting 4% interest on money that's not theirs ... I wonder if they plan on paying out the interest.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: