HNHacker News
TopNewBestAskShowJobs

Jhsto

2,841 karma · joined November 20, 2012

For NixOS stuff reach me at juuso@ponkila.com For research, GPGPU, and APL stuff juuso.haavisto@cs.ox.ac.uk is more appropriate

juuso.dev

submissionscomments
Jhsto··on Open source 5G core network
LTE (and 5G on 3.6Ghz, I guess) signal can cover many kilometers. The protocols are built to be more reliable (a phone keeps a tab of access points to which it can quickly hop if access to one base station is lost) and the licensing ensures that there cannot be spectrum suffocation at any time, which is quite common in bigger cities with WiFi.
Jhsto··on Open source 5G core network
Yeah, I'm not an expert either, but there are initiatives to this as well. One such initiative is Nokia Kuha: https://www.kuha.io/

The problem is exactly what you described: there are currently no commercial UE or base stations. So yeah, I suppose one is supposed to use SDR for the 5Ghz band.

Jhsto··on Open source 5G core network
For those interested, this project seems to be a rewrite of https://nextepc.org/ into Go. Alternative projects include https://github.com/facebookincubator/magma and https://github.com/openairinterface.

You can start your own telenetwork with these projects (but of course doing such would be highly illegal without a spectrum license), but first, you need a gNB or eNodeB which is lingo for a base station. It is possible to buy an SDR and use software like https://github.com/srsLTE/srsLTE to make the SDR receive and broadcast LTE/5G connections. After this, you need to have blank SIM cards to code. For example, this post instructs how to do so: https://cyberloginit.com/2018/05/03/build-a-lte-network-with.... You might also consider writing eSIMs https://github.com/bagyenda/njiwa.

After this, you should be able to use a commercial phone to connect to the network.

In general, these networks function quite well even on commodity hardware. Some tests I worked on produced end-to-end latency of around 20ms on LTE, and throughput of around 7MB/s. This was using NextEPC on a 400 euro computer with a 50 euro router and a Nokia base station. Further, it was possible to make the system to work in a Heroku like manner by exposing PaaS endpoints and running Kubernetes in the access network: https://www.semanticscholar.org/paper/Open-source-RANs-in-Pr...

I think it's quite likely that sooner or later we will have 5G networks with intra-services running as edge-services, providing us low-latency. It's worth noting that with the latest LTE versions 5G and LTE access latency is virtually the same. The real latency-optimization would be, at least to my perspective, to allow software to be deployed _into_ these cellular networks to minimize network hops.

Jhsto··on Ask HN: I'm an incoming freshman to college for a CS major, what should I know?
> Go find your own subfield that you are interested in and go deep in it.

Conversely, do know that this may not yield much appreciation from professors. BSc and MSc degree programs don't generally reward you for doing work that is so deep to be publishable. Even though you are at college to learn, you can't get carried away learning by yourself, if it is in the way of passing exams.

Jhsto··on I bought netflix.soy
The weird-looking symbols also go the other way around: if your language uses umlauts, you can score very good .com domains. For example, I have the equivalents to email.org, entrepreneur.com, and hacks.com in my native language. Some of these domains receive so much type-in traffic that they pay themselves in ad revenue each year.
Jhsto··on Ask HN: What programming skills are required by HFT or Trading firms
I am indeed writing it in Go, but I have somehow missed the race condition detector... So thanks for reminding me of it! Once I get back to programming it more I'll look up how to properly make use of all the tooling -- the last time I ran money on it I simply made a service which phoned me every time a trade was happening, so I could observe _any_ bug in real-time.
Jhsto··on Ask HN: What programming skills are required by HFT or Trading firms
In my case, I still have unexplainable race conditions in my software, so take it with a grain of salt. But yes, identification and understanding both the locking and synchronization are hard. I don't think there are many other definitive solutions than modeling your software in a predicate language like TLA+ or Alloy, especially once your software grows hence its possible states diverge.

> What are the implications of identifying a scenario where there is no race condition?

No race condition? Great. It's totally possible there are some not-so-concurrent parts of your software that can run in what I deem a performant manner.

> Does it just result in a performance hit?

It's much more than that. A bug I have is very serious and it goes something like this: you set a limit order to buy X shares. The limit order gets a partial fulfillment, and you immediately set stop losses and take profits for X shares. However, the limit order gets complete fulfillment before the two other requests are done. If you now try to update the previous orders, for example, it might be that the update call gets registered at the broker first, but the creation gets there last, which means you have bought X+Y shares, but you have stop losses and take profits for only the X. You might now completely lose Y unless you monitor the software all the time. Things like these might happen everywhere, and the real trouble starts when these instances with plausible race conditions of their own start communicating with other parts which might also have race conditions.

And the requirement for the concurrency is not only a performance: you might want to collect data in thread N, while you have different strategies of amount M, which all by default subscribe to N, but only selectively when they are doing their strategies. In such a sense, I don't think that doing even a semi-serious trading software without concurrency is possible.

Jhsto··on Ask HN: What programming skills are required by HFT or Trading firms
From the anecdotal experience of developing such software as a side-project for myself, the hardest parts technically were dealing with concurrency and race conditions caused by it. Other skills for prosperity is understanding statistical significance and randomness. Also, writing reliable software and designing both the best-case and worst-case scenarios is required when interfacing with remote systems: brokers return error or exception cases saying you were too slow all the time, which means your software is dependant on that information and must run in probabilistic state conditions while waiting for the answers to remain performant.
Jhsto··on Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia A100 GPU
FWIW, there already exists LLVM to SPIR-V compiler: https://github.com/KhronosGroup/SPIRV-LLVM-Translator

Alas, this supports SPIR-V to 1.1.

Jhsto··on WebWormHole: Send files quickly using WebRTC
Similar to one of my family members: she thought the Internet is a "thing" you just put stuff to, and it was available to all. She had no idea Facebook has an actual computer somewhere receiving her queries.
Jhsto··on Formal Verification Creates Hacker-Proof Code (2016)
Are you aware of Pi-calculus and ProVerif? ProVerif sounds to address at least some of your requirements. Links: - https://en.wikipedia.org/wiki/%CE%A0-calculus - https://prosecco.gforge.inria.fr/personal/bblanche/proverif/
Jhsto··on A Taste of GPU Compute [video]
Thanks, the answer with some examples was exactly what I was hoping to get answered! Thank you for taking the time to respond.
Jhsto··on A Taste of GPU Compute [video]
Thanks for the video and slides, super interesting!

One question: in one of the slides, you mention the Vulkan 1.2 / SPIR-V 1.5 Vulkan Memory model. What exactly is this and why do you think this is meaningful? Would you have any links to learn more? When I read the SPIR-V specification, it mentions that this kind of memory model exists, but it does not put any effort into explaining why it's worthwhile or how it works on a high level.

Jhsto··on An in-depth look at OCaml’s new “best-fit” garbage collector strategy
I would imagine excited. Rust's affine type system is an application of logic theory. OCaml is initially French academic production and (from an anecdotal experience) those academics tend to dis how impure most software (and memory management) is. While Rust does not have the purest theoretical foundations, it's still fresh air and will likely result in people paying more attention to the work of researchers in theoretics.
Jhsto··on ReMarkable’s redesigned e-paper tablet is more powerful and more papery
I don't think it's that great for reading. It does not have a backlight. I own both the reMarkable and Kindle Paperwhite and I prefer to read books on the Kindle.
Jhsto··on Norwegian Air to cancel 85% of flights and temporarily lay off 90% of staff
Meanwhile, the Finnish government owns 55.8% of Finnair.
Jhsto··on APL a Day
Please do correct me if I'm wrong, but I've just recently researched APL and it seems like beyond J there really isn't anything else. There's a lot of recent research however, so maybe soon you'll see something new, but in general array based languages seem very little used and studied.
Jhsto··on Exploding Head Syndrome
When I have been stressed out for longer periods of time, I start to get weird problems with sleep. This has included hearing many indistinct voices when going to sleep, waking up to a sleep paralysis with the demon sitting on me / next to me, and sensation of falling immediately after falling asleep (which makes it impossible to sleep). In all of the cases, it seems like the unconsciousness is so occupied that it doesn't want me to rest. Every time, when I have talked about my worries hence processed them, the symptoms have gone away. So to at least to my anecdotal experience, the sleep disorders seem to be caused by held back emotions.
Jhsto··on How Spotify ran a large Google Dataflow job for Wrapped 2019
I remember creating a mobile app for Spotify before they did. It used a reverse-engineered API on a server to download songs and stream them to mobile devices. Most of my friends used it at my school. There were some issues with the server providers and eventually Spotify disliking the fact that the server constructed DRM free music files and stored them temporarily on a disc.

Eventually, Spotify released its official mobile apps and a web player so the project had no use. But it was fun times, it was really marvelous how anyone could find their favorite music from the service and listen to them in good quality without a torrent connection.

Nowadays, I think all those friends who used the hack are Premium subscribers.

Jhsto··on Ask HN: Are compiler engineers still in demand, and what do they work on?
Any comment on the salary in these positions? Are they higher than for the average software developer, and if so, by how much? I am wondering since to my experience, the application and development of logics and verification procedures to be used in programming language development requires vastly different and more rigorous personality and working methods than in your average web developer gig.
Jhsto··on Back pain is a problem which is badly treated
I got a herniated disc which went undiagnosed for a long time. I've been prescribed/taken/done alcohol, tricyclic antidepressants, ibuprofen, codeine, anti-inflammatory steroids orally and by injections, McKenzie, light deadlifting, CBD, and THC cannabis, excessive biking, walking, running... the list goes on. Yet, the most significant cure for me was getting a standing desk. It seemed like only once I spent most of my time not straining my back, was I able to gain much from all the else.
Jhsto··on Back pain is a problem which is badly treated
I've been guided to instead cycle. If your back pain is caused by muscle imbalance (e.g., another leg longer than the other) or herniated disc, then running will supposedly make it worse. Yet, activity is important, which might be why running works for you.
Jhsto··on I Had a Caffeine Addiction, So I Quit–This Is What Happened (2018)
For me, I feel like caffeine is a constant reminder of how stressful my life is. The day I can forego caffeine is the moment I feel like I've made it in life. But for now, when I sometimes go cold-turkey on it, within days I will have someone reminding me of some business chore that has to be completed. A cup of coffee helps me find the motivation to complete the task.

The same goes for work. Shit hits the fan during the day, and to offset the frustration I drink coffee.

It's the same for past-time. When I start slipping from my workout routine, a fast line of pure caffeine just before I should be going to the gym sets my mind on going to the gym.

And I don't take it lightly -- when the stress from expectations and accumulated responsibilities start appearing at the same time of the year (as they in some wicked way always do) I start piling on caffeine. Once I was even hospitalized.

Years ago in simpler times, I was able to take a week-long vacation in a forest cabin without electricity (or coffee). The first day I did not want to do anything, so I slept 20 hours instead, waking up occasionally for an hour or so before going to sleep again. This continued for the next two days, and the people accompanying me thought I fell sick. On the fourth day, I finally felt like actually doing something. I felt like a lot of the stress and crankiness was gone, and I became more open about helping others again. Yet, at the same time, this is exactly how I end up finding new responsibilities - worthy of the added concentration of caffeine - again.

Jhsto··on The Linear Algebra Mapping Problem
How viable do you think SPIR-V is for computation? I am thinking of researching (that is, creating my own) DSLs targeting SPIR-V.
Jhsto··on Agglutinative Language
The article notes that in some languages it is possible to form sentences by chaining appendixes to them.

An example in Finnish:

- jousta (normal form of the verb run)

- juoksen (I run)

- juoksentelen (I run around)

- juoksentelisinkohan (I wonder should I run around)

- juostaankohammekohaan (I wonder do we run)

The two later forms are very rarely used, and I have no idea whether the last form is even correct. I have some friends who insist on talking like this. Usually, people express the same things with more words, such as juoksentelisinkohan is equivalent to about:

- Mietin ., että. pitäisikö. minun. juosta. ympäriinsä.

- I wonder., that. should. my (in this context, me). run. around.

The . are to separate the words.

Yet, it would be perfectly fine to just append a question mark to juoksentelisinkohan or juostaankohammekohaan and it would be a one-word sentence. An interesting remark is that in practice the question mark is redundant in both cases, as the -ko- part in the words reduces the only interpretation of the word to be a question.

I have absolutely no idea how would one formalize all this.

Jhsto··on Robinhood Traders Discovered a Glitch That Gave Them ‘Infinite Leverage’
Much depends on the ad network. The default YouTube one, which is essentially the only network you can easily get into with a single video, paid me 23 cents CPM for video-game genre.
Jhsto··on Stripe CLI
Neteller has both physical and VCCs available for generation via their web portal. You can set a balance for each VCC, but I do not think they automatically expire. They do not offer an API to do it, but it should be possible to curl each endpoint leading to the generation.
Jhsto··on 5G Was a Mistake (Punctuationless Shout)
Any specific parts would you like to know more about?

In general, "how/if 5G is actually going to enable things like this in a way not possible with 4G" can be done. But, from a software engineering perspective, this has more to do with how the playing field is changing for mobile network operators than to the consumer.

Jhsto··on 5G Mobile Networks: A Systems Approach
Speed and latency wise it should be manageable, but the bigger problem is spectrum licenses. Depending on your local legislation, it might be that new competitors cannot do last-mile 5G delivery because the existing telecoms have purposefully lobbied and bought out all available spectrum.
Jhsto··on Learning Haskell is no harder than learning any other programming language
Mind the opposite: finishing a bachelor's without ever having to deal with a functional language.

I've met a lot of people (at work and post-grad) who have graduated from colleges without an idea of what a functional language is or the concepts behind them. I don't blame them, but its a pity to find so many workarounds in legacy code which could have benefited from functions as parameters and less state in general.

← PreviousPage 8 of 16Next →