News for hackers. Stuff that matters.

adamcik

Re:<Blink> and <Marquee> (2020) on Sunday June 08, 2025 @03:57AM (#44215432)
A friend of mine would always put `<blink>` around his middle name as a quick and dirty way to test for missing escaping and possible xss. Back in the day this was surprisingly effective at uncovering problems :-)
A friend of mine recently let the domain used for documentation of Pykka, a Python actor library, expire. Some of course registered the domain, resurected the content and injected ads/spam/SEO junk.

Since the documentation is Apache License 2.0 there isn't much one can do, other than complain to the hosting about misuse of the project name/branding. But so far we haven't heard back from the hosting provider's abuse contact point (https://github.com/jodal/pykka/issues/216 if anyone is interested).

Re:Sunset of libspotify on Wednesday May 18, 2022 @12:54PM (#31424997)
The plan for mopidy-spotify was to move towards web-api for everything we could to be on the official APIs where possible. So the end state would have been only streaming left on libspotify, then figure out how to get librespot and GStreamer to play well enough together (there is a plugin but it's missing at least one feature we need).

But as you can see in issue #110 this goal hasn't been reached yet.

Re:Sunset of libspotify on Wednesday May 18, 2022 @12:49PM (#31424935)
The way auth tokens are setup for Mopidy-Spotify you hold the encryption key for the blob with the OAuth data, and the intermediate server just has an id and the encrypted data. Note that the id is not a Spotify OAuth client-id but an internal one. This is done so we don't have to ship Mopidy-Spotify with the client-secret for the App registration (this was pre PKCE auth).

I.e. I would be highly surprised if our OAuth integration was the source for this issue, but I'm obviously biased as the author of https://github.com/adamcik/oauthclientbridge

As for libspotify, there you had to put in a (device) password and username, so if something scraped that config I guess all bets are off...

I wonder how much of this is free trial abuse like https://therecord.media/crypto-mining-gangs-are-running-amok... and how much was real trials?
Re:How I got my Japanese permanent residency on Monday August 10, 2020 @03:46AM (#24106643)
Having gotten a Swiss C-permit (permanent residency) myself on the five year fast track it was rather easy. But looking at previous interactions it all feels very dependent on what privilege you have in the form of your nationality.

If you are from a "good" country things are a lot easier. E.g. I didn't have the TELC B1 test done when I sent in all the papers. So I had a co-worker help write a formal letter explaining I would forward the test results when ready and got the permit before the results.

There is even a set of countries that are exempt from the language requirement (Austria, Belgium, Denmark, France, Germany, Italy, Netherlands, Portugal, Spain, Greece, and Liechtenstein). Some of which make sense as they share a language with Switzerland while others I wonder what the story really is...

In contrast, friends from a "bad" country would be stringed along on 6 month L-permits, also for the spouse (who didn't get the right to work) while I brought my partner (we still aren't married) and got her a B-permit that could easily be upgraded to a working visa from the get go.

I wish the system wasn't so discriminatory :(

Re:The Norwegian art of the packed lunch on Saturday January 05, 2019 @04:11AM (#18830692)
Correct, it's basically pre-cut parchment paper.

The thing to watch out for though is that the parchment paper is not suited for baking (mainly thinner and cheaper), we once baked a pizza on the matpakke type and it was a pain to get the paper off the crust.

Re:Infineon RSA Key Generation Issue on Monday October 16, 2017 @03:59PM (#15486196)
Note that the tool does not seem to filter out revoked keys, or take expiration into account. You have to cross check against what (sub)keys you still have in use.
Re:Student-Built Apps Teach Colleges a Thing or Two on Thursday August 28, 2014 @01:47PM (#8238630)
I actually had a lot of luck creating such a timetable website[0] for NTNU in Trondheim, Norway. Initial version did hacky scraping, eventually I found a database, after the site site gained traction the IME Faculty (IT, Maths, Electrical engineering) got in touch about the site.

At this point they actually paid me to opensource the code and hired me to setup a copy for them. We never got their version to take off, as mine was to well established. So eventually we shut their instance down, and mine lives happily on despite the fact that I've long since left the university.

IME also did some great follow up putting quite a bit of effort in creating an API for "me". The problem was that the central IT services could only provide payed access to their WSDL based XML service. So IME basically payed them for access and then reexported it with their own API[1] + caching.

On a side note, most of the code[2], except for the importers should be generic enough to use at other schools :-)

[0]: http://ntnu.1024.no/ or http://ntnu.1024.no/2014/fall/adamcik/35/ for a sample timetable

[1]: http://www.ime.ntnu.no/api/

[2]: http://github.com/adamcik/plan

Re:SoundCloud Command-Line Client on Sunday June 29, 2014 @02:49PM (#7961989)
Note that there is also Soundcloud support for mopidy, among other extensions:

http://docs.mopidy.com/en/latest/ext/external/#mopidy-soundc...

Re:Say Hello to Our New Web API on Tuesday June 17, 2014 @04:12PM (#7906718)
Streaming is only available through libspotify or the beta SDK on IOS. Rumors from #spotify on freenode indicate that the SDK for other platforms is still being worked on. But once it ships it will provide a minimal lib for streaming and the web API will do everything else.
Re:Say Hello to Our New Web API on Tuesday June 17, 2014 @02:22PM (#7906036)
Same conclusion we also had in https://github.com/mopidy/pyspotify/issues/139 when looking at if we should move away from libspotify in favor of the new web API. For now I would stick with libspotify wrappers until a more complete version of the API comes out.
Re:Say Hello to Our New Web API on Tuesday June 17, 2014 @02:19PM (#7906014)
Populate a http://developer.echonest.com/docs/v4/tasteprofile.html with the listening history and you can use it for dynamic playlisting using the spotify catalog. That is as long as echonest matches the song metadata to an id.

http://static.echonest.com/enspex/web/ChillRadio/ linked from the demos shows this for artists as a seed, but tasteprofiles as the station seed works nicely as well :-)

This idea keeps coming up and I believe mopidy is perfect for building such a system (of course I am biased as one of the main contributors).

The way to go about building this with mopidy is essentially one of the following:

- Create the voting system based on the MPD protocol to talk to mopidy

- Create the voting system using our JSON-RPC websocket access to the core APIs.

- Create a frontend in python with full access to the core APIs.

Each of these of course have it's advantages and disadvantages. But to me one of our main strengths is the architecture we've designed over time and how people can use mopidy almost like a framework for exposing the media server in a novel way.

Do you mean playlist management? The upcomming 0.19 release has a target of fixing that for the MPD frontend, from there the backend authors just need to make sure they implement the right interfaces and this will work.

CUE sheets as in using them as playlists? There are a few ways of doing this depending on what your use case is, but very much doable. Drop by #mopidy on freenode or send us an email and we can help work out the details.

Single stream at this point in time, so you would need a mopidy instance per output. So doable but not pretty or something I would really recommend.
You can control mopidy remotely, but not yet stream to remote clients.
Normally you would have one machine hooked up to your speakers and then use clients on the other ones to control the central music server.

In the longer run I keep wanting to get https://github.com/mopidy/mopidy/issues/408 solved, basically having a main server and then audio only servers for true multiroom.

Part of the reason for having started mopidy was that we wanted something MPD like, but with Spotify support, which at the time was not reasonable to integrate directly.

Now we've evolved quite a bit since then and are now at a stage where we are modular music server, where the MPD frontend is just one of many possible ways of talking to our server. Additionally everything is an extension, so we don't end up like some other systems I've seen where plugins end being second class citizens.

Edit: Other things to note is that at the time we started, 2009, we were not aware of Tomahawk, and more importantly, we wanted a server, not a GUI app.

We still have a few blockers for proper streaming support. But we are slowly but surely getting closer to have something like that working.

https://github.com/mopidy/mopidy/issues?labels=EOS&state=ope...

Last year in September a tax delinquent program for expats was enacted, what this means is basically that you need to file the last three years of taxes, and the last six years of FBAR (for the years you had more than 10K USD in your accounts). This is instead of the last five years of taxes that you would normally be required to do. You would only need to actually pay taxes if you are over ~90K USD a year and don't have enough foreign tax credits to cover it.

To be able to actually file the taxes you need a SSN. You can get this by going to a consulate or embassy, bringing the proper original documentation (get in touch with them for the details). They will make certified copies, mail those up the chain until it gets to the state department and 3-6 months later you will have your SSN.

For actually doing the taxes one option is to pay someone to do it. You still end up doing a lot of prep-work yourself, so you are basically paying to some peace at mind that they've signed of on things being correct.

If you go for a renunciation, the date you renounce is the date your tax obligation ends, this has recently changed and not all tax accounts, even the ones that specialize in expats seem to know this. This means you might end up with renouncing before you have a SSN, and thus your taxes in order, so look into the laws and/or ask an expert before deciding how to handle this.

Last bit is figuring out exit taxes, there the tax accountants seem to be useless as it makes no sense for them to specialize in one time customers. But it seems they will happily charge you for looking over and sanity checking the form once you fill it out.

You can also forget calling the IRS and getting any help about renunciations, they consider such matters "advanced" and will only tell you to get a lawyer and/or tax accountant.

http://web.archive.org/web/20130626160026/http://www.renunci... used to have a very comprehensive coverage of the renunciation process, but seems to have disappeared :(

As for how to proceed, and what makes sense to do is a highly personal matter and depends on so many things. The act of renunciation is irrevocable, and should not be taken lightly. I wish you the best of luck as having this type of stuff looming over you is really draining.

The way the US tax treaties work you get tax credits for your local taxes. So if you live in Scandinavia with high taxes, say 40% you have enough credits to offset all of your ~30% US taxes. But if you are in a low tax country, say 20% you would end up still paying ~10% taxes to the US.

edit: And yes, if the citizenship is a good or bad thing is of course highly dependent on your other citizenship, your plans to study/work/live in the US, the country you intend to live in instead of the US and a number of other factors.

This tax scheme also causes a lot of trouble for kids who had the bad fortune of being born in the US, without growing up there or any other real ties to the country. You are still subject to the tax rules, are technically breaking the law every time you entry the US with you real passport (as you must use the US one even if you never got it as you as still technically a citizen).

Getting rid of the citizenship is then best done around the age of eighteen, but chances are no one will tell you how much of a pain in the ass all of this is, and likely you won't even be aware of the tax potential tax burden and paperwork. Alternative is to pretend like nothing and hope you never get caught.

When you finally get around to renouncing the whole thing becomes a never ending process of getting all the IRS papers and possibly back taxes in if you earn enough, getting a SSN as you can't file taxes without it, actually renouncing, and likely getting the SSN after you renounced as the whole thing takes bloody ages, and then finally figuring out exit taxes and if you are actually exempt from paying them. The exit taxes of course have two loop wholes, one of which is you were born a dual citizen _and_ still pay taxes to the other country, which means you are screwed if you are working abroad. While the other test checks net-worth, average income over the last five years and a few other things. Oh, and for the exit tax the states assumes you have sold all you assets and will tax you on the capital gains of those fictive sales...

Whole system is a mess, there is no way in hell expats can fix it as their votes don't in essence don't count and it's "free" money for the state. The level at which taxes kick in for expats of course stopped being adjusted long ago as the state realized that if they stop increasing the min. amount they get more money. Though it is still being moved slightly up, it's long since stopped targeting the truly wealthy and is now hurting more and more regular people (especially if you live in a high cost country with high wages that has crept above the threshold).

Throwing money and/or time out the window is no fun, so I have no problem understanding why people want to get rid of their citizenship if they can without becoming stateless.