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

I think each website/data-source having their own built-in AI is also a transitional period.

It is like every website having search engine vs google.


We already have the google analogue (llm that's seen all the websites), so are we going in circles?


With built-in AI, we shouldn't be writing SQL queries directly right?


It's up to you.

So far, there seems to be an even split between the people that always go for the AI and the people that write everything themselves.

Personally, I use the AI whenever I need to write anything other than `SELECT * FROM xyz WHERE`. It just saves me so much time.



That looks like a substantially better product than the original post. Can we get an updated version of that one instead?


Whats the verdict on temu vs aliExpress. I still find things %30 cheaper on AE while most of my orders are delivered within 6 days.


I get so much Temu spam that I finally gave up and decided to check them up. I compared 3 random items that the spam in Instagram was about - exact same items were 3x - 10x cheaper on AliExpress than Temu (~0.50 on Ali, ~5.0 on Temu, ~10 on Amazon). I haven't looked further but my impression was that they just ship stuff from AliExpress with a X price multiplier?


How do you go about finding stuff on AliExpress that isn't (too) shit when it turns up? Or is that just the risk?


Sort by number of orders.

It's a bit crass but you can accept a few duds and still come out ahead. In my experience even the duds are good for a year or two.


Out of curiosity, what types of goods do you get from those websites?


Anything where you're actually ok with all the NEUVWY branded junk on Amazon but want it much cheaper in exchange for possibly slightly slower delivery and a horrible browsing experience.


Or free if you're willing to put up with REALLY slower delivery. I ordered a 20kmAH battery with fold out solar panels off wish. 4 months later with it undelivered and tracking no longer active I requested and got a full refund. Two months later it finally arrived having gone the long way around the planet and held by Azerbaijani customs for several months.


sounds like you got a free battery ;)


did that with a showerhead, $80 on amazon, $30 on aliexpress, and it's actually quite well made (real metal) and seems to be great so far after a year. I'm sure there are a lot of duds though and it's caveat emptor, do at least a little research if you can find anything.


lots of electronic components, modules, tools, etc... Things you get on Amazon for $10-15 range is basically $2-4 on AliExpress.

If It's a big or $75+ item, usually prices are same as Amazon.


A 16" 4K USB-C OLED display (with a touch sensor even). It works exactly as advertised and looks really nice but is rather useless for me, to be honest.


This sounds extremely useful to me! I’m building out a home assistant dashboard and would like a nice crisp display with touch.

Why did you get it if it’s useless for you? Not being critical at all, more so curious how it turned out to be a bad fit.


It's https://aliexpress.com/item/1005004110616192.html I think a regular IPS display would be way less susceptible to burn-in when used as a dashboard display, though. As for why I don't use it much: I thought it would be nice to have a second portable screen for my laptop instead of a proper desktop setup, but it's just mildly inconvenient to carry around and set up/pack away every time, and it offers way less usable screen area than a regular-sized display (unsurprisingly).


I would guess it's something like this

https://www.aliexpress.com/item/1005005670832686.html

[Edit] Ah no, it says 4k in the title but the description is 1080p.

Try this

https://www.aliexpress.com/item/1005006407747752.html


Could you share a link to this please? I could definitely use this.



I'd be interested as well


Great, cheap flashlights with so many options for customization (Convoy).


As well as Convoy, quite a few others also have official stores on AliExpress, like Sofirn, Lumintop, and Maxtoch.


Chinese knockoffs and other junk products


> Chinese knockoffs and other junk products

As if most of the originals aren't made in the very same factory in China.


For real


Smart home stuff, keyboards are cheap and pretty good on Ali Express.


When I wanted to build my own mech keeb, the components were available only on AE. On AMZ they were much more expensive.


My experience with keyboard components on Amazon in Canada is that they’re beyond prohibitively expensive. It’s absolutely insane. I could never wrap my head around why… Who’s buying it? I suppose impulse purchases because so many of them are hard to find otherwise, or you have to wait a while for batches?


There's a ton of amazon.com stuff machine-reposted on amazon.ca (plus a $$$ Fedex/UPS fee to get it to you quickly after they receive it themselves in USA).


I fond them to have the same prices and mostly the same items but temu often doesnt have the really nice version of a thing thats basically from a “brand” in china

Here is today’s random example: https://a.aliexpress.com/_mr2D3Y4

Couldn’t find anything like that on temu


so they didn't enable the write-protection after flashing?


It has OTA firmware upgrades, I suppose if they did that they wouldn't be able to update the firmware.


If I remember correctly you can disable flashing through UART/whatever without disabling OTA flashing.

Eg. The ESP32 has this feature.


Would have been amazing 10 years ago. Client side js is what would make this messy to use in big projects imho.


There's a huge swathe of projects that have no (or very little) use for client side js.


I find myself thinking this as well. I love the idea of this for a few reasons, but there appear to be some hang ups that would cause me to go back to typescript, jsx, and a node process serving it.

The developer experience is ridiculously nice in that ecosystem if you’re accustomed to it. So many QOL things have been dealt with and polished.

But I do love the idea of something like that dev experience with Go instead of JavaScript powering it.

Maybe this would be totally sufficient if you don’t want any SPA/interactivity features?

Some sort of live pipe to component state like LiveView or similar could make it so a lot of JS would work implicitly, which might give a lot of the dev experience and user experience ease that people want. I’m not sure. But I do think something would often be missing with this library.

Regardless, I love the idea and I’d be stoked to see it grow and improve the developer experience.


Depends. If you know at the outset whether your client side is primarily an app or primarily a document, you can choose libraries that make sense.

If you're going to shoehorn everything into "this is an app" or "this is a document" then you're going to have problems no matter what you choose.


I think it still makes sense to make web apps that can function without JS.


I use templating in rust (jinja) even with rather some JavaScript.

My JavaScript modifies the DOM rather than creating it.


This can get hairy very fast.

With every project that grew the need for UI state I either wished I went with client side rendering or did so from the start for the parts that needed it.

The issue is: manipulating the DOM can become hard to reason about. You either somehow manage to use the DOM as your source of truth, or you manually sync your state into and out of the DOM, and other things like the URL etc.

The “immediate mode” style GUI model is much easier to reason about, because you can think of each render as a fresh start.

You don’t need React for this, in fact other libraries do this faster and without additional complexity such as Lit. Plus if you use something with web components, it is easier to mix and match client side and server side templating.


Certainly. I never meant to say "my javascript strategy is X and its the best fit everywhere'. As always "it depends".

Though, the simple idea of server-side rendered HTML that is enhanced with JS goes a very long way.

> or you manually sync your state into and out of the DOM, and other things like the URL etc.

The thing is: with server-side-rendered HTML, the issue of "State" is solved! Hypermedia is a state-machine (REST, HATEOAS etc). What is left, is "state" needed for rendering some variations.

You don't need to store state of routers, or the state of JSON objects being pushed through immutable-redux-saga-whatevers. All you need is some state to determine "the accordeon is closed" or "the dropdown is open".

I've applied my strategy to a client-side search system once. And while it worked, it quickly showed that actual state-management was needed. I used the URL/history-api to store all state - so that links where sharable, but there's only so much you can put into paths, query strings and anchors. I used HTML5 template tags for templates and components and some simple JS to fetch JSON from a search-backend and pull that through the template to insert into the DOM.

What I'm saying is: yes! I agree. You'll need proper and nice design patters or architectures to build a UI of any scale. But I'm also saying: if you move state-management to REST (the backend, server-side-rendered) what you are left with is simple enough that it needs no framework most of the time.


Yeah, I mean stuff you can't or won't put into the client-server communication. At some level of detail it becomes wasteful.

For example a multi-step form, where you can browse for options, have a lot of filters such as logic that displays different options based on previously selected ones and so on.

It's not that you can't do it via HTTP. But it's also wasteful. For this kind of stuff you don't need to pay for the round-trips. The server doesn't need to know anything about the UI state here. The only transactional parts are the entry point and the final result.

Things like these are a great place for "interactive islands". You can architect the skeleton and all the actually transactional parts as a normal HTTP/REST site, that exchanges HTML and so on. But for the parts that are really _just_ UI related state like the above, it's unnecessary work (compute/complexity/networking) to do so. Other examples include: interactive visualizations via SVG/WebGL, rich text editing and so on. All of those things are relatively common things.

What I was getting at above, is that it will get messy if you have JS state like that and but you don't write it in a way where the JS "owns" the DOM, from start to finish, for that component or island. It doesn't have to be react/redux or w/e. There are simpler, more performant solutions that lean on web standards and are much lighter weight like Lit etc.


> The server doesn't need to know anything about the UI state here.

As always: "it depends". I've built many use-cases where the server did really need to know about this. When we needed the intermediate state to be stored so that a user could pick up where she left. Or when we needed the telemetry/events of intermediate states being sent (e.g. "your ticket is now reserved for 45 minutes please proceed to payment") and so on.

What's more, and more important though, is that no:

> But it's also wasteful.

It is hardly wasteful. Hell, your "ga.js" HTTP call is probably heavier than doing a simple call to proceed the state-machine over HTTP. HTTP certainly isn't the problem: most likely the choice of a bulky and sluggish backend language/framework is, though.


I think JS is fine for some UI sugar, but the app should be usable even with JS off. What you are talking about is indeed better accomplished with an SPA.


I disagree with that premise.

While "it must be usable with JS off" was true decades ago for accessability and compatibility reasons, this isn't the case anymore.

In my case, the reason for changing and not creating the DOM with JS is pure simplicity. I'll just as gladly make something that won't work, because it cannot be changed this way. Because everyone except for a very few "mormons of the internet" have JS. Modern JS even.


I agree. I use server-side rendering heavily in my projects at work and thus largely avoid custom Javascript (edit: the reason is laziness, not because I outright disliked Javascript). But if I want to enable some very basic user interactivity that does not alter "state" in any way, I will always go for a few lines of JS that e.g. toggles the visibility of some items when a button is clicked etc.

So (as usual) the key is to find the balance that works for you instead of pursuing one way (only server-side rendering or only SPA Javascript framework).

For the time being this approach works very well for me.


Stealing this quote for future use:

> My JavaScript modifies the DOM rather than creating it.


(n=2) :D


i also noticed the title is shorter as "How My 2 Children Acquired Absolute Pitch".

but i smiled too.


That means they got a plenty of free time for both the AoC and their language :)


I think the point of being on the top of the AoC is that they don't have spare time so have to do it in seconds :P


intentionally keeping the page up for few more weeks, so that outsiders can justify the move by adobe.


Why would anyone need this page to justify Adobe's move? I would think the straight up adoption rate of Figma alone would easily justify it to pretty much anyone.


Figma was smart.

But I use Photoshop and Illustrator…

Don’t stop! We believe you should use the best tool for the job. If you’re photo-editing, choose Adobe Photoshop. If you’re doing detailed illustrations, Adobe Illustrator is a no-brainer.


> Don’t stop! We believe you should use the best tool for the job. If you’re photo-editing, choose Adobe Photoshop. If you’re doing detailed illustrations, Adobe Illustrator is a no-brainer.

Meanwhile, the acquisition message from Adobe was something like "We can't wait to make Figma better for photographers and illustrators".

Infamous "Everything will grow until it has X" and now it's Figma's turn.


Shit I've ever thought about until now but I wonder how Adobe will cripple Figma to stop if from competing with their other products. I know tons of designers who do illustrations and simpler en graphics in Figma.


Here is my latest life hack that I have been using. Pick a major from MIT and see their degree program to form a basic knowledge graph of the major. Find them on https://ocw.mit.edu/ and study yourself. Usually, taking 1-2 classes gives you a great insight in to any topic so that you can at least collaborate better with the experts of those topics in a team environment.


I'm having the weirdest deja-vu right now.

Turns out I did see a thread almost like this, with a top comment almost like this a week ago: https://news.ycombinator.com/item?id=32793139

Felt like I was going insane.


Yup, decided to repost it, since someone replied with a link that even helped me further last time, so I was hoping to start another convo :) which seems like I have successfully achieved since this even sparked a longer thread this time, which I enjoyed reading.


Good memory. I wonder how often things like this happen. hmm


Yup, recognized it as soon as I saw it here because I distinctly remember thinking, when I read the first one, "hmm, I'm not sure I'd call this a 'hack'"


Nice job finding it! Bot or not?


same, thanks for digging up the link. yeah, seriously, verbatim same comment


> Pick a major from MIT and see their degree program to form a basic knowledge graph of the major

This was exactly how I taught myself, but I used CMU as my guide, lol. It is not hard to find good quality material, many universities have them open, but this curriculum is hard to 'graph' when you don't know where to start and what is an actual logical way to organize it.

So yeah, do this if you are a self-learner.


While good materials are easy to find, it'd be much easier if all assignments and solutions were available the way they are in this MIT course. I find a lot of value in verifying my solutions, or comparing to other valid solutions.

Cheating is a major problem, but I think the benefits (at least societally) would greatly outweigh the costs. I know sometimes courses don't change enough to make releasing solutions to assignments from past years a viable compromise.


I'd love to see a site that aggregates all of this content into an easily explorable format.


I made one once! That's a story for another time, but lessons learned:

- Elite schools like MIT are cesspools of crime and corruption, at least at the top. By "crime," I don't mean metaphorical "bad stuff" -- I mean actual, genuine, bona fide scary stuff like the movies. MIT's endowment is $20M per faculty member, and if you're in control of $20B in endowment with that much slush and that little oversight, it draws the wrong people.

- Don't accept money from elite schools. You're gonna get drawn into deeper shit than you want to know about.

- Less elite schools are more honest.

- If you do get in too deep, sign an NDA and non-disparage, and make sure you're connected to powerful friends. The calculus was: (1) if bad stuff happens to me, they hit front page of NY Times (powerful friends) (2) If we're both left in peace, I'm signalling I'm probably not going to expose them (NDA+non-disparage).

What I found is that there's much better content overall one tier down, although without MIT's PR budget. You gotta know where and how to find it. If all of that were aggregate, that'd be golden.


>What I found is that there's much better content overall one tier down

Which school's content are you talking about?


It's unfortunately distributed. ASU, WPI, Georgia Tech, etc. have impressive operations, but for the most part, you need to look a lot of places.

There's a ton of little resources like this: https://ximera.osu.edu/mooculus

Needs a ton of work on CSS and styling, but the content is great.

That's why we'd need an aggregator.


What courses did you use from CMU and which major?


I basically followed this: http://coursecatalog.web.cmu.edu/schools-colleges/schoolofco...

- but "took" more courses than necessary for my self-learning (I think I read through all of Logic / Language courses, insanely fascinating topic).

- I would not recommend a self-learner to follow it rigorously. Like if you are a working programmer, look for material that will help you at your work. Idea is to apply the knowledge.

- Some courses have assignments shared so that's great if you have the time check them out too. Definitely great for their database courses.


CMU courses doesn't have videos, atleast for most of the core courses. Was that a hurdle to your learning?


No, because I dislike videos as a source of information. They usually have absolute top tier lecture notes freely available. Like the Constructive Logic course.


Yes, even for their intro course 15-122 the course notes are excellent.


Here's a comment I left on a different thread a few months ago, which you may find useful if you're looking for CS contents:

---

There are a lot of book recommendations, but I would not focus on books if I wanted to get the equivalent of a solid CS education. Instead I would work through university lecture slides, assignments, and exams -- basically fast forward through a CS undergrad leveraging what you already know. I'm partial to CMU's CS syllabus for obvious reasons, but I find that it's also one of the most open and available resources on the web; i.e. not locked in on an intranet, etc.

With pre-existing background in software development the basic syllabus is more than doable in a 3-4 months. There are two sequences below: programming and theoretical fundamentals; you can do them in parallel.

Programming:

15-211: Introduction to Data Structures. Used to be in C++; now looks like it's in Java. https://www.cs.cmu.edu/~mjs/121/lectures.html

15-212: Principles of Programming. Still in ML. https://www.cs.cmu.edu/~me/212/schedule.html | https://www.cs.cmu.edu/~fp/courses/96-212/ (unlocked assignment pages)

15-213: Intro to Computer Systems. I hesitate to recommend this; 90% of the value in this course is in the labs and assignments, so it's difficult to do on one's own, but I would at least go through the slides and try to work through exams. https://www.cs.cmu.edu/~213/schedule.html

Theoretical:

15-251: Great Ideas in Theoretical Computer Science. Used to be Discrete Math with a heavy CS lean; it may have evolved. https://www.cs.cmu.edu/~15251/schedule.html

15-451: Algorithms. Here's a decade worth of lectures, exams and assignments - take your pick: https://www.cs.cmu.edu/~15451/ The 2013 course looks pretty complete: https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15451-f...

Next steps:

Since you are interested in VR, etc, you should probably look into the Computer Graphics courses. Note that the undergrad and grad courses are combined; the only difference is the expectations:

15-462: Computer Graphics http://15462.courses.cs.cmu.edu/fall2020/ Exam problems and solutions are gold: http://15462.courses.cs.cmu.edu/fall2020content/exams/finals...

15-463: Computational Photography http://graphics.cs.cmu.edu/courses/15-463/

15-464: Technical Animation http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/syllabus... http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/assignme...

Hope this helps. Good luck!


I did a couple of MIT projects in some of their graduate classes (OS, distributed systems) which was a lot of work. At least one week full time for each of them. And that's just the lab, I barely looked at the lectures (which were based on key research articles on the field).

But looking at the first classes of each topic to have a broad view seems like a good idea too.

I wish I could go back to school. CS is changing so fast, it's impossible to keep up to date within your free time.


> I wish I could go back to school. CS is changing so fast,

Is it, really? I got an undergrad degree 25 years ago, and looking at the requirements for the same at a few different universities, they appear largely the same, other than a few extra courses on ML. You still have pretty much the same math courses, theory courses, algorithm/OS/network/database courses, etc. The languages and tools have changed, but the fundamentals have not.


I got my degree 25 years ago too. At that time, a lot of things which are pervasive now barely existed. Virtual machines, clouds, smartphones, javascript, CI/CD... Fundamentals haven't changed but the tools/languages/systems we need to understand to do our jobs have changed a lot. The fundamentals are important but they are a fraction of the things we need to know.


I have also come to the same conclusion, and I believe it would be a very great idea to create a program that graph’s a topic’s “dependency courses”, perhaps with some must-read books for each subject.


It is not such a great idea, the dependency courses. Most prerequisites for a self-learner are kind of overblown IME. If you're applying the knowledge and / or you don't have time to go through them like a college student, your prerequisites have a different function for you (the least amount that makes you understand the main topic you want to understand in order to apply that knowledge, this might mean just literally skimming a paper or reading a subchapter of a chapter in some other book - you are not there for the prerequisites).

I talk about applying the knowledge a lot because it is a wonderful constraint, it makes it so that you don't accidentally read things cover to cover, but do like a depth first search into the subject instead.


The authors that can write a book such that you can understand it without previous knowledge are wonderful, but it is heavily dependent on the subject. It’s hard to talk about differential equations without first knowing calculus.


It is not possible and I didn't mean to imply that. There'll be endless prereqs. most of the time.

Just that if you need to understand differential equations, and you don't know calculus, the answer in this context isn't reading Spivak from start to finish (here I am assuming a working programmer / self-learner that wants to apply the knowledge - constrained by time and application much more heavily than a student of mathematics for example).


Could you please expand on what you mean by applying knowledge? But sure, I don’t believe reading a book from cover to cover is necessary in most cases, and I seldom do so with scientific books.


I firmly believe you need a software problem / idea to go with your learning. When you run into problems fixing / making what you want, search for what might help you.

Like most algorithm courses are fairly abstract form of programming (writing a line of code) where as a working programmer is a software engineer constrained by time and resources. This means that for example this algorithm course, it teaches you to generalize your solutions but that's not always realistic goal, or even desirable goal, in software engineering, and you might find out this if you implement one of the algorithms to do something for you in a small program.

Applying what you've learned in some software project of yours constraints you nicely such that you can't waste your time reading stuff from cover to cover.


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

Search: