Hacker News new | past | comments | ask | show | jobs | submit | nomurrcy's comments login

This is a great tool. The api surface takes a bit to figure out, and navigating manipulating the syntax tree can require some trial and error, but I’ve used this to do large scale refactors that would have been very time consuming if done by hand.

99% of the time the tools provided by jetbrains / vscode are more than sufficient, but 1% of the time a tool like this saves you a bunch of time, both searching for what you need to change and making the changes you want.


I hope Austria will make a similar change. Children born before 1983 only acquired citizenship if their father was Austrian or they were born out of wedlock to a single mother. When they changed the law in 1983 it was not made retroactive - so many half Austrian children are left with no legal connection to the country.


are you sure? a friend of mine born in 1973 has both austrian and german citizenships. which in itself is a fluke because neither country recognises dual citizenships. but with such a law in effect it should not have been possible to get the mothers citizenship from either country.


Yes, I'm sure. Is is father or mother Austrian? There was a period in 2014 wherein children affected by this law were allowed to apply for Austrian citizenship - perhaps he took advantage of that. There has also been a recent change for descendants of holocaust survivors. I'm not sure about the german side of the equation.

See 'Obtaining Austrian Citizenship' here: https://www.bmeia.gv.at/en/austrian-embassy-london/service-f...


i just learned that in 1983 when the law was changed, austrian mothers were offered to apply for austrian citizenship for their children born earlier. so if it wasn't made permanently retroactive, there was at least a time window to apply which is likely what my friend was able to take advantage of.


i don't know which parent is austrian. my friend has both citizenships at least since their youth in the 80s. so whatever allowed that to happen must have been something in effect then. maybe a different temporary exception on either the german or austrian side.


I have this same issue with my Sony headphones.

1. Open Utilities -> Audio Midi Setup 2. In the left pane click + and add a new aggregate device 3. Add your internal mic to the aggregate device 4. Go to System Preferences -> Sound and select the aggregate device as your input

Unlike the 'raw' internal mic device this one should stay active when you disconnect / connect your headphones.

I've never found a better solution than this :( Kind of shocking that this is required - but it works.


Overlays can be very helpful for this type of thing.

I have overlays in ~/.config/nixpkgs/overlays.nix (though you do this various ways)

My overlay file has the form:

let my-packages-overlay = self: super: { foo = super.callPackage ./path/to/package.nix {} } in [ my-packages-overlay ]

Then you can just nix-env -iA your-package.

See: https://nixos.wiki/wiki/Overlays


> Then you can just nix-env -iA your-package.

This is what always gets me stuck. It seems like lots of tutorials assume you're installing packages by hand still. For me, the whole reason I'm using nix is so that I can use the declarative package management.

I get having local dev dependencies on a per-project basis and running a nix shell to make those dependencies available in your development environment.

But it's just confusing to me how many tutorials suggest running nix-env -i to imperatively install a package. Why would I do that instead of taking advantage of the joys of declarative package management?


Because Nix is a language there are many ways of accomplishing the same thing. Some ways are easier, some require more work. For example if you make a derivation in your home, it is easy to install it with nix-env from there, and you are done, but if you want to include it in your configuration, you typically would create an overlay that includes your package in nixpkgs. Then you can list the package. If your derivation requires creating a configuration, service etc. On top of that you will also need to create module that specifies configuration options and configures the application.

So in many cases you are told to use nix-env, because the person just answered how to write a derivation and didn't go further than that.

I think flakes (still work in progress), will help here, because it defines a standard that supposed to do all of that in one file that is easily composable.


I've never used nix-env on NixOS. I really think that command only exists as a bridge for people used to more traditional OS's. I think there is a space for it - if you don't want to spend time building your user configuration declaratively, just install what you need and get going.


I've been using Anki for the past year while learning German and it has been (seemingly) very helpful. I doubt I would have acquired the vocabulary I have in the past year without it. I'm not sure if this is simply due the fact that it helps make studying a habit or that SRS is as beneficial as claimed.

I have found it useful enough that I'm extending its use to other subjects I'm interested in.

Has anybody used Anki and Supermemo have thoughts on the two? I've never used supermemo - would be very interested to hear if it is worth looking into vs Anki for any reason.


SuperMemo has a lot more advanced features (e.g. incremental reading). But the tradeoffs are pretty significant, in my opinion. Anki's decisive features for me are its mobile apps, its simplicity, and its open source license.

I've been using Anki for 5 years now and have about 10,000 notes. I don't use it for foreign language learning. I would not feel comfortable investing that much effort into a closed-source platform effectively run by one person (Piotr). Also, thanks to Anki being open source, I've written a handful of simple plugins for myself.


How are you able to keep 10000 notes in Anki organized? With that many notes, how can you tell whether something you want to remember is already in your notes or not?

It seems to me that the Anki card browser is quite bad at this, but maybe I'm just bad at using it!


I mostly put everything in the same deck. There are a handful of notes that are similar or contain the same information, it's not really a big deal. If it really bothers me, I just suspend the duplicate while studying and I never see it again (this is trivial to do in the mobile app).

I have a custom note format that I use, with custom fields and custom formatting. It looks something like this:

  Front
  Back
  Context
  Source
  Date
  Author
  Hint
  Extra
  Reverse
"Front" and "Back" are self-explanatory. "Context" is shown on the front of the card, if specified, and is a reminder of the broad context of the note (if it's a note about Python, for example, then I'd put "Python" in the Context). If "Reverse" contains any text, then Anki will generate two cards: front->back and a back->front, which lets me test both directions of the knowledge (it's really helpful to be able to recall information in either direction).

Here's the note template I use (sans formatting, which is standard CSS):

Front:

  <header>
    Deck: {{Deck}} {{#Tags}}&diams; Tags: {{Tags}}{{/Tags}}
  </header>

  {{#Context}}
  <div id="context">{{Context}}</div>
  {{/Context}}

  <div class="front">{{Front}}</div>

  {{#Hint}}<div class="hint">{{hint:Hint}}</div>{{/Hint}}
Back:

  {{FrontSide}}
  <div class="back">
    <hr>
    {{Back}}
  </div>
  <br>
  <div class="extra">{{#Extra}}{{Extra}}{{/Extra}}</div>

  <br><br>
  <div class="metadata">
    {{#Source}}Source: {{Source}} <br>{{/Source}}
    {{#Author}}Author: {{Author}} <br>{{/Author}}
    {{#Date}}Date: {{Date}}{{/Date}}
  </div>


Thank you! :)


1. Anki has search, tags and hierarchical organization.

2. If you don't remember that you already have something, it means Anki is failing you, because the whole point of it is to help you remember.

3. BUT! it doesn't really matter if you add the same note several times, it will just make it appear for review more often.


It seems like the value of the platform is in the well-classified data made by the community in the same way that emacs "killer feature" is the bazillions of community .el extensions. Is there a Github or some defacto standardized way people publish their Anki notes?



Do you mind elaborating a bit on how to do this well?

For example, I know it's possible to create a filtered deck which collects notes from several different decks. I can therefore use each deck to organize the different subjects and practice all of them by reviewing the filtered deck. Or do you mean the hierarchical-tag add-on? Or something else?


Are there any other more modern (read: available) books you recommend on the topic? Gloor's work is about $500 presently on amazon and not available electronically.


I've used it twice. Once for a Seattle -> Berlin -> Munich -> Seattle trip. Another time for my honeymoon (Seattle -> Krabi -> Tokyo -> Seattle)

Both times I found business class tickets for not a crazy spread over coach retail and significantly below the business class prices I was finding on my own.

I've had great experiences both times. For complex / long haul flights where you want to find a cheap business class seat, I'd recommend them without question. I'm a big fan of flightfox.


I switched a personal server over to freebsd (8 or so at the time) a while ago after battling with zfs on linux. (I was hitting some strange issues at the time which I can't really even remember at present)

After getting over the initial learning curve (files being in different places than I expect / named different things etc) I have really come to like freebsd. You get the sense that everything has been designed to fit together a bit more than the linux distros. I had been using ubutnu before and I got really tired of how much constantly changed between releases. With bsd I'm able to get very up to date software via the ports tree, but the overall 'system' design doesn't seem to change as much between releases as it did in linux land.

The freebsd handbook is great and makes it super easy to get up and running. I certainly don't think the differences for everyday use between freebsd / debian for example are enormous, but I plan on using freebsd for most of my boxes from now on, its just been really painless to work with.


Balderdash.

There were many examples of outright fraud in the years leading up to 2008, some of which are presently being discovered in civil suits. The perpetuators of these frauds have never been brought to justice. (or even really investigated by the justice dept) The victims of these frauds are still seeking relief.

Many people are frustrated as our supposed functionaries of justice in this country are too cozy by half with those entities they are supposed to be regulating. This is corruption writ large.

Here is just one example of outright fraud:

https://iapps.courts.state.ny.us/fbem/DocumentDisplayServlet...

This is a quote from the document in question:

1003. Specifically, plaintiffs performed an investigation concerning the mortgage loans purportedly transferred to the trust for the JPMorgan Defendants’ JPMAC 2006-WMC4 offering. The closing date for this offering was on or about December 20, 2006. Plaintiffs reviewed the transfer history for 274 loans that were supposed to be timely transferred to this trust. Sixty-six (66) of the loans were not and have never been transferred to the trust. In addition, several other loans that were supposed to be transferred to the trust were transferred to entities other than the trust, but not to the trust. The remainder of the loans (approximately 140) were eventually transferred to the trust, but all such transfers occurred between 2008 and the present, well beyond the three-month time period required by the trust documents and far after the three-month period for the trust to maintain its tax-free REMIC status. In other words, none of the reviewed mortgage loans were timely transferred to the trust, a 100% failure rate.

not a single one of the surveyed loans in this REMIC was actually deposited into the trust in a timely fashion and over half were never deposited at all

The trust is void under the law. Everyone who paid the servicer of this trust was screwed as the trust didn't legally own the debt it claimed to. Every investor who sold 'certificates' backed by this trust was robbed. These trusts, which don't really legally own the debts they claim too are foreclosing on debt they don't own. This isn't just failing to cross some t's and dot some i's.

Do you agree (if you assume the above to be true) that people should go to jail for this? Do you think none of the senior execs at JP Morgan Chase knew about this? Do you think it is acceptable that the neither the SEC, the OCC or the OTS have been looking into these problems?

You seem to think being a member of a group committing a crime absolves the individual actors of culpability? By this measure, many members of organized criminal enterprises aren't doing anything wrong.

Maybe we should actually investigate these crimes and at least try and assign responsibility and have trials? Isn't that what the court system is for?

Shouldn't we be embarrassed by this complete breakdown of the rule of law?

In Iceland at least, they've done something about it!

http://www.bloomberg.com/news/2012-02-20/icelandic-anger-bri...

Speaking of organized crime

http://www.bloomberg.com/news/2012-12-12/hsbc-mexican-branch... and more money laundering http://www.bloomberg.com/news/2012-08-18/deutsche-bank-among...

The justice department 'probes' these matters and then issues civil penalties. These are criminal acts and deserve criminal investigations.

I agree that singling out and only blaming CEOs is ridiculous. Far more than just the CEOs of these banks should be in cuffs. Many of these banks should lose their US banking charters and be dissolved as US banking entities.

If you do not punish this behavior, harshly, it will continue. Civil suits are not enough. For this to stop, many people need to go to jail.

The regulators aren't looking; they don't want to throw their friends and future employers in jail.

How can we 'give it a rest' when we haven't even tried to fix the problem?


You can't be serious. Quote stuffing the channel is standard HFT practice. 99% of the orders placed are never meant to be hit. The SEC is incapable and uninterested in policing this stuff.

Put a .5 second minimum TTL on every order and you'd see all the 'liquidity' provided by the HFT world dry up instantly.


You typically get throttled by the exchange when you send too many messages. When your messages are rejected, you monotonically lose money until you can message again. For this reason, I highly doubt anyone is sending an uncontrolled amount of messages to any exchange on purpose because surpassing messaging constraints is unprofitable, which would violate everyone's primary motive.

The orders not meant to be hit is a separate issue from the messaging. These orders are there because of

1) quoting requirements designed to mitigate volatility,

2) to give traders the feeling of depth (illusory or not) because market participants tend to interact with exchanges that look like they have thicker books,

3) to gain queue spot due to any FIFO component of the exchange's matching algorithm in case the price moves to the level where these orders could get executed,

4) to gain order allocation due to any pro rata component of the exchange's matching algorithm.

All of these reasons are controlled by the exchange and to some extent the SEC. The first 2 reasons are the result of the exchange trying to make money by attracting participants. The last 2 reasons are the result of participants rationally reacting to their incentives as dictated by the matching algorithms designed by the exchange.


Right. My point is it is illegal to enter an order into the market with the intent of goading someone into trading or to manipulate the price unless it is a bona-fide offer to buy or sell. Intent matters with regard to illegality, and I don't think anybody questions the 'intent' of most HFT shops.

Creating the illusion of volume where none exists has long been illegal - people used to paint the tape long before HFT exists to achieve the same thing.

You've provided a good description of why HFT do what they do, and one could argue that laws need to be changed to allow this market behavior. (I would disagree) Much of what they do is illegal by present law, but none of the big market players want the law enforced, so the SEC looks the other way.


The illegal activity you're referring to are the bluffs? I'm under the impression most people have not successfully automated bluffs although I have heard of people manually doing it and using algorithms to exit or hedge. In my experience, most HFT does not intend to manipulate markets, maybe solely because this is difficult to automate and there's a lot of lower hanging fruit (not because they are altruistically abstaining from such behavior). It's difficult to automate bluffs because most HFT relies on backtesting and it's very hard to backtest high market impact strategies. In contrast, it is my impression manual traders can get very good at market manipulation.

There is a lot of shady stuff that goes on in trading due to conflicts of interest. Anyone intelligent or informed enough to know what's going on is financially incentivized to be secretive about it. I haven't gotten the impression the SEC is intentionally being incompetent- they really ARE just incompetent because anyone smart enough to realize what's happening does not join or remain in the SEC. Incompetence is the simplest explanation for the crazy rules and fines they have enforced, and the rules obvious to actual traders that they have ignored.


The whole reason for quote stuffing, co-locating and competing on latency advantage is because the exchanges only accept quotes at one-penny increments and process them FIFO (first-in first-out). The restriction to one-penny quotes was relatively recent, before that the minimum increment was 1/8 of a dollar.

If the exchanges accepted quotes at fractions of a penny (for instance float values), then the speed/latency of quotes would take a backseat to price. It would make pointless a lot of the current shenanigans.


Some exchanges or interbank dealers in the FX world quote a "Minimum Quote Life" - usually around 250ms. I am not sure how strictly this is enforced.


I think I'd prefer a small fee on cancelled orders.


I think many exchanges actually already do this, with a rebate provided for actually orders that are executed. The idea being that it is fine to cancel five orders for every one fill or some other ratio of cancels to fills. Check the pricing for trading with Interactive Brokers. I think they are passing on these exchange fees directly.


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

Search: