HNHacker News
TopNewBestAskShowJobs

ajayjain

74 karma · joined October 22, 2011

submissionscomments
ajayjain··on Mochi 1 preview. A new SOTA in open-source video generation. Apache 2.0
I'm one of the team members at Genmo that worked on Mochi 1. Let me know if you have questions :)
ajayjain··on Ask HN: Who is hiring? (August 2023)
Genmo | Senior Engineer | San Francisco, CA | Full-Time | *[https://genmo.ai](https://genmo.ai/)*

Genmo is a vertically integrated AI company pushing the boundaries of what's possible with visual generative models.

Our team is building a future where people and AI collaborate seamlessly to create diverse modalities such as images, videos and more—breaking down the barriers between creative verticals. We're the folks who made diffusion models work, and created the first text-to-3D foundation models.

You can play an instrumental role in our mission to build cutting-edge technology, and radically different user interfaces, with an ambitious long-term vision of establishing Creative General Intelligence.

We’re hiring for several roles:

- Founding Full Stack Engineer - Next.js, Tailwind CSS, React - Founding Infrastructure Engineer - GCP, AWS, Kubernetes - Founding Data Engineer - data collation for foundation models - Research Scientists - LLM and diffusion model training

Join us if you have a passion for AI and are ready to help shape the future of creative tech!

Reach out to me at ajay[at]genmo.ai

ajayjain··on DreamFusion: Text-to-3D using 2D Diffusion
Hi @sirianth, this is Ajay. Are you talking about the https://ajayj.com/dreamfields colab? Feel free to dm me on Twitter (@ajayj_) or email me if you're facing bugs. Dependencies keep shifting, really should have pinned versions originally...
ajayjain··on DreamFusion: Text-to-3D using 2D Diffusion
Hi! Ajay here. Correct, our shading model doesn't compute intersections, since that's a bit challenging with a NeRF scene representation.
ajayjain··on Vaccinated Americans now may go without masks in most places, the CDC said
Zooming in, their map reports that vaccination rates in 94707 are now over 100% -- it's the gray region north of UC Berkeley. Perhaps folks are commuting in to 94707 to receive doses?
ajayjain··on Linux founder tells Intel to stop inventing magic instructions and fix problems
Yep! You got the motivation exactly right. The goal is automatic program "rejuvenation" w/o all the engineering and maintenance costs. Revectorization in the compiler allows programmers to capture much of the performance gain possible with wider instruction sets without having to write and maintain multiple code paths. It can be a big pain to understand and rewrite this vector code -- especially if it's in some external library or another team's code. But agreed that some really nice results are possible with the right engineering such as in parsing.

Do the binaries really get into the 200 MB range from different code paths, or is that due to data?

ajayjain··on Linux founder tells Intel to stop inventing magic instructions and fix problems
Thanks! The tests were run on a single thread since the source kernels & test programs were single threaded. It was important for us to find the largest possible instruction graphs to revectorize at a time so that the whole kernel or most of the kernel runs with the target instruction set. If our search terminated early due to e.g. a pair of low-width instructions that the pass didn't know how to merge, there's a performance loss, so we spent quite a bit of time to synthesize comprehensive lookup tables and implement shuffle merging and reductions. My impression is that kernels running exclusively AVX512 rather than interleaved scalar/low width code generally perform better than the low width code even with downclocking, but please let me know if that's not the case.

We originally ran experiments on a multisocket lab server which should have a faster clock, but I don't have a record of the specs. That server did fine for SSE to AVX2 conversion, but didn't support AVX512 so we ultimately used Google Cloud VMs.

ajayjain··on Linux founder tells Intel to stop inventing magic instructions and fix problems
Two years ago, I wrote an LLVM compiler pass that automatically upgrades SSE or AVX-2 code to AVX-512 when those instructions are available. It's helpful for getting performance gains for hand engineered code that you don't want to touch. We saw some good gains on integer workloads (unpacking, useful for databases - something I'd call "regular code"): 1.16x speedup going from SSE to AVX-2, and 1.43x speedup going from SSE to AVX-512. Even better speedups are available for FP workloads, though hand-writing the AVX-512 version can work a lot better since programmers can exploit the full range of new instructions available in AVX.

https://www.nextgenvec.org/ https://arxiv.org/abs/1902.02816

ajayjain··on Contrastive Code Representation Learning: deep type prediction for TypeScript
I'm one of the authors of this paper, feel free to ask questions.
ajayjain··on Uber S-1
Loss aversion tells us that gains and losses have different emotional impact. In particular, perceived losses supposedly have a strong negative impact on people. [1] If Lyft employees value their shares at the IPO price, they might be feeling a loss all the way from 72 to 61.

[1] https://link.springer.com/chapter/10.1057/9781137544254_13

ajayjain··on SIMD Instructions Considered Harmful (2017)
Thank you! :)
ajayjain··on SIMD Instructions Considered Harmful (2017)
In some recent work from my group [1], we reduce the complexity of keeping up with new SIMD ISAs by retargeting code between generations. For example, a compiler pass can take code written to target SSE2 (with intrinsics) and emit AVX-512 - it auto-vectorizes hand-vectorized code. With a more capable compiler, if the ISA grows in complexity, programmers and users of libraries get speedups without rewriting their code or relying on scalar auto-vectorization. However, the x86 ISA growth certainly pushed some complexity on us as compiler writers - we had to write a pass to retarget instructions!

[1] https://www.nextgenvec.org/#revec

ajayjain··on Behavior trees for AI: How they work
I used this article (and some other pieces) to help with some robotics research in Python a few months ago. Behavior trees are fantastic abstractions that definitely simplify FSM code, but I found that working within the constraints of decorators could really complicate behavior architectures that can instead be implemented more linearly. Specifically, I wanted to have an overall obstacle avoidance behavior separated from individual movements, but ended up implementing an obstacle avoidance function library totally separate from the BT.
ajayjain··on Ask HN: Your favorite YouTube channels?
https://www.youtube.com/user/sixtysymbols - really interesting and well made physics videos

https://www.youtube.com/user/flitetest - fixed wing and (multi)copter builds and flights. Mostly mechanical, electrical, and aerospace.

minutephysics, minuteearth, and crashcourse are also great.

ajayjain··on This girl in SF stole my MacBook Air
In a sense, it's the replacement that someone who has their bike stolen is paying for, not the original. If it gets stolen, you'd need to get a ride home, find a new bike without transportation for a bit, and put in a decent amount of time and money to fix a bicycle at that price.
ajayjain··on Delete.im: the forgetful messaging service
When I make a message, the URL seems to use zeroclipboard for Flash based click-to-copy, but I have Flash blocked with an extension and click to play. It would be nice if the message URL could be manually selected, like with bitly.
ajayjain··on 1 in 4 Americans Don't Know Earth Orbits the Sun. Yes, Really.
Where the percentage correct is significantly below 50%, it seems like there are very widespread myths being accepted, possibly dangerously. Malaysia scored 8% and Russia scored 18% on the second to last question (Antibiotics kill viruses as well as bacteria) - that's scary to me from a public health standpoint.
ajayjain··on How in-app purchases have destroyed the game industry
Many apps use several of these business models at the same time - buy in game currency with money or watch in game sponsorships to earn it, then use that currency to buy virtual items.
ajayjain··on CoffeeScript 1.7.0
What does %% do? The documentation says: a %% b is the same as (a % b + b) % b, but what is the difference between "true mathematical modulo" and the standard modulo?
ajayjain··on Christ, I hate Blackboard
"against the development, use or distribution of Open Source Software or Home-Grown Systems to the extent that such Open Source Software and Home-Grown Systems are not Bundled with proprietary software"

Competitors are not protected by this pledge.

ajayjain··on HP brings Windows 7 back 'due to popular demand' as buyers shun Windows 8
One of the Windows 8 improvements is with the default file copy/move, and I no longer use TerraCopy. There are a bunch of under-the-hood/utility improvements outside the aesthetic.
ajayjain··on Homogenization of scientific computing – Python is eating other languages’ lunch
I'm not too familiar with Python, but this is case sensitive unlike benhoyt's examples. Would this be case insensitive?

    lines = [line for line in open("bible.txt")]
    words = [word.lower() for line in lines for word in line.split()]
    counts = {word:0 for word in words}
    for word in words:
        counts[word] += 1
ajayjain··on FBI Drops Law Enforcement as 'Primary' Mission
A quote from that link:

"So where the hated Stasi surveillance was a building in area, the NSA surveillance today is an entire continent."

And:

"As a final note, the word Stasi was a contraction of the East German surveillance agency’s full name, Ministerium für Staatssicherheit. It translates to National Security Agency." (Google translate says Ministry of State Security).

In the French revolution, the group pretty much playing the role of government during the Reign of Terror with many beheadings every day was called the Committee of Public Safety. The original or supposed reason these organizations claim to exist seems to be a justification to claim power and rights from the population.

ajayjain··on Free Bootstrap Themes
Very cool, I might use one of these! The email with the download link was marked as spam by gmail, so you might have to do a search in:anywhere.

Some other free themes: http://wrapbootstrap.com (I'm not affiliated, just love their stuff). They have less files and a compiled css file for their themes.

ajayjain··on Don’t drown in email: How to use Gmail more efficiently
Seems Gmail tabs don't work with multiple inboxes, but I've set it up. I guess I'll have to be more liberal with unsubscribing without emails being sorted into tabs.
ajayjain··on Chicago makes Computer Science a core subject
I'm currently a sophomore in APCS after taking a year of the base Java class. Both focus on the language for the most part. In APCS, ~60% of the material is Java OOP, as in specifics behavior when overriding methods, static vs instance, interfaces etc. 20-25% is control structures, syntax etc, and in first semester we've covered basic sorts, built in arrays and ArrayLists. I believe in second semester we talk about elementary data structures like linked lists and _maybe_ binary trees after the AP exam (the class is structured around CollegeBoard's AP exam).

Since there is already a Java class on campus, I think the AP class should focus more on language independent CS concepts. At least half of our final and tests are problems about determining what is printed by an obfuscated Java program to test knowledge of how edge cases are handled.

ajayjain··on White House Seems Afraid NSA Defunding Law Could Actually Pass Today
I just called the offices of Rep. Honda (who's supporting the amendment) and Rep. Eshoo. It was super easy!
ajayjain··on D3.js 2.10 Unleashed.
I've made a library on top of D3 at an internship with a startup (Goalbook) to help visualize their student data, goals and performance. Github: https://github.com/JainLabs/charts Sample implementation: http://jainlabs.github.com/charts/goalbook.html Docs: http://jainlabs.github.com/charts/

It's meant to be easy to extend and wrap. To make it easier to represent (for example) the reading level of a student, you can use the DRA (a common reading metric) wrapper. Rather than describe the _chart_ (x, y coordinates), you describe the _data_ (timestamp, score).

We also invented a new chart - grouped line - to represent complex goals for students. The grouped line chart shows multiple trials in a day/period, rather than boiling data down into a single point. The sample implementation demos a use case.

I would love feedback on the project!

ajayjain··on Interesting hacks from Photo Hack Day 3-San Francisco.
Exactly what I thought of when I saw tagx's comment.
ajayjain··on Interesting hacks from Photo Hack Day 3-San Francisco.
I made Storybook (number 2 on the blog post) with my brother. It's an HTML5 app that can be packaged with Phonegap, although I'd need to use the Facebook phonegap plugin rather than the standard Facebook authentication. I think HTML5 apps can be developed faster, but the integrated stack (especially of iOS development) can accelerate development. Also, there are many more mobile developers using the native SDKs than Phonegap, even if Phonegap apps could be built faster (but they might not be the same quality. Phonegap apps often aren't tailored to the platform, and HTML5 apps very often feel and look different than native apps, even if they can appear native, like cheeaun's HN mobile web app)

Mobile and web development are different and have different mindsets. For example, mobile apps require a separation between the server and client - if you want to communicate with your server, you need to make an internal API instead of directly running SQL/MongoDB/etc calls. Also, in a mobile app, users may not have a data/internet connection, so developers need to implement persistant storage on user's devices to work offline. At this hackathon, it was about half mobile (maybe more) and half web.

Page 1 of 2Next →