If you like Powershell but have some complaints, you might find nushell to be the best of both worlds. My elevator pitch for it would be imagine the object-oriented / typed nature of Powershell, minus the verbosity and windows-centric design of it. As someone who develops on and for windows computers, nushell is a real breath of fresh air.
I have a command line program at work which outputs json. Pure JSON in all situations.
I thought nushell would be able to make sense of that and display it semi-nicely.
Nushell pukes on it, errors out, and doesn’t even show the output of the command. As far as sins go for a shell, not showing the output of the program it just ran is very high among them.
With external commands you might have to collect the output of the program before doing any sort of manipulation. I’ve been got by this before too; the fix is simple (for me at least). `external.exe | collect | from json` et voila
I think they would want a more optimized regex. Like a long list of swears, merged down into one pattern separated by tunnel characters, and with all common prefixes / suffixes combined for each group. That takes more than just replacing one word. Something like the output of the list-to-tree rust crate.
I would agree. That’s exactly what the example I gave (list-to-tree) does. LLMs are actually pretty OK at writing regexes, but for long word lists with prefix/suffix combinations they aren’t great I think. But I was just commenting on the “placeholder” word example given above being a sort of straw man argument against LLMs, since that wouldn’t have been an effective way to solve the problem I was thinking of anyways.
Anecdotal but I have found that at least some times, rideshare drivers are willing to take cash for rides under some circumstances. Not at all common though, most of the time I have asked I’ve been unceremoniously shot down. The one time I distinctly remember it working out was during a packed event in Vegas (EDC LV, music festival). I just asked if they were going to be driving for the concert the second day, since it was so ridiculously packed and hectic to get a ride the first day, and they said yes and I just offered $100 for the ride tomorrow (I was already paying that much with uber, but with poor service from the app and many cancelled drivers). They agreed, they got a double-rate fare for one unsanctioned ride, I got better service since they were better incentivized to get my ride done, and overall everyone was happy. Except Uber I guess. YMMV
If you don’t mind me asking, how were you able to immigrate there? I have family that lives in Norway on my father’s side and I’ve sometimes fantasized about packing up my life and moving there after I visited them and saw what an amazing place it is. The few times I’ve been manic enough to actually consider its realistic plausibility I’ve always been stopped at the dead end of their immigration policy. Maybe things have changed but when I looked into it, it seemed like a very difficult bar to meet (I would’ve either tried to find a skilled trade immigration policy, or perhaps used my extended family as a reason, but neither of those routes seemed particularly possible).
That is a great question and I would be happy to share.
Varnish Software had a job posting in Norway and I asked them if they would consider a US candidate. At that time I was living in the US and was looking for opportunities to immigrate to Norway (or Finland).
After I accepted the position they helped with the “skilled workers visa” process.
Moving abroad has a lot of logistics. Depending on your situation in the US, I suggest to sell, rent, or store your belongings in the US and only bring what you can as luggage on the Airplane. In my case, we had an estate sale, asked family to hang on to sentimental items, and gave away everything else. When we left the US to fly to Norway, we had 5 suitcases of what we needed/wanted.
My partner (at that time) and I had a 6mo old child.
We started with an Airbnb in the Sagene area of Oslo. After landing we rented a car and drove to the Airbnb.
That turned into a 6mo rental (outside of Airbnb) as we explored the area for either an apartment to rent or buy. Again, it helped to have minimal possessions as we moved around to find the area that suited us and our family.
Eventually we settled in an area called Torshov.
June or July is a great time move, the city is calm and almost everyone is on summer holiday.
It can take several months before you are in the banking system to receive your salary, so in advance you will need to have a buffer of savings and to keep a bank account in the US.
Forward all your mail in the US to family, friend, lawyer, or service to keep you informed. Forwarding mail to Norway is possible, but it will be delayed by at least one month, which can be a problem for any bills that are due.
I would say that IOS AdBlocking is significantly less effective than that which you’d expect from a Desktop adblocker (and presumably android, so I’ve heard— can only speak for iOS though). My little brother likes to watch Anime on his iPad through some bootleg Crunchyroll equivalent (the kind of website that uses a .to domain, you know?), and I’ve tried my absolute damndest to defeat the hyper-intrusive ads and scripts served by that site so he can watch his Naruto or whatever without having his poor innocent eyes bombarded with salient requests from hot singles in our area.
No luck, and not for lack of trying. I’m not entirely certain what feature is missing in WebKit that results in the hamstringed adblocking capacity, but it’s definitely much worse than you’d hope for. You can get adblocking extensions on iOS that will block ads on most websites, but when it comes to the truly shady ads that do not even try to masquerade as being legitimate, iOS falls short. It’s likely something I could handle on the DNS layer if I wanted to dedicate a day or two towards, but I’ve similarly travelled down that rabbit hole to no avail as well.
I agree with you. When I was younger, I played a lot of Minecraft PVP servers, and for whatever reason these PVP servers cultivated a weird and toxic community of cyber criminals about them. For reference/star value, the recent headline of the kids stealing 200m in crypto via social engineering— I played with those very same people when I was younger. As in, the people who were sent to jail.
Their story repeats itself a dozen times over from my now-fragmented friend group from that time. Many young kids getting into ill-fated get rich quick schemes ranging from credit card fraud to refunding (mail fraud) all the way to sim swapping, blackmail, doxxing, and even real life violence and gang activity. A few of my earliest friends were just indicted for home invasions and armed robbery in some scheme to steal crypto. All of them from Minecraft, weirdly enough.
Anyways, those who didn’t end up in jail or “on the run” from participating in these stupid schemes, I tend to notice a common trend towards security related work. I know one guy who went from fraternizing with the same now-criminally-indicted people I hung around to working for the FBI’s cyber crimes unit (fitting, I guess). Another one now works with a defense contractor developing spyware, as far as I can tell. Many more work in different areas of cyber security and programming et al, including myself.
The cyber-crime adjacent to cyber security pipeline is very much so real.
Love the idea. I’m always finding myself writing little user scripts / browser extensions to extend websites I use all the time, and trying to use an API I found in the devtools network requests page always gets annoying when I have to try and do anything beyond replicating the exact input/output I found in the original request.
Haven’t fully looked through the features/docs, so forgive me if my question is answered in there, but what does support look like for:
- Exporting to Swagger/OpenAPI Spec
- Exporting to generated SDK (I know some tools exist that can generate SDKs from OpenAPI/Swagger, so maybe some of these tools have licenses that are compatible with your product?)
- Support for URL path variables (e.g. `/users/{user_id}`)
- Support for URL query parameters (and filtering for common “noise” parameters, e.g. Google analytics)
- Support for non-JSON input/output (e.g. an endpoint that accepts multipart form data)
Awesome idea though. I’m definitely going to try this out. Beautiful UI and website too. I’m stoked to play around with this!
I'm glad you like the idea! Let me answer your questions one by one:
- Exporting to Swagger/OpenAPI Spec: Currently, exporting to Swagger/OpenAPI isn't supported, but it's on my to-do list to look into. Right now, JavaScript code is the only export format.
- Exporting to a Generated SDK: Same as above. I'm considering integrating tools that can generate SDKs from OpenAPI/Swagger specs, so this might be included in a future update.
- Support for URL Path Variables (e.g., `/users/{user_id}`): Yes, API Parrot supports URL path variables!
- Support for URL Query Parameters (and filtering out common "noise" parameters like Google Analytics): Yes, API Parrot supports URL query parameters, and there are measures in place to filter out the noise.
- Support for Non-JSON Input/Output (e.g., endpoints that accept multipart form data): There is support for non-JSON input/output formats, but multipart form data isn't supported at this time. You can find all the supported data types on this page: https://docs.apiparrot.com/docs/tutorial-extras/exchange-mod...
Thanks again for your support! I'm excited for you to try it out, and I'd love to hear your feedback after you've had a chance to play around with it.
Edit: And speaking of assignment versions, there's a new comment that adds a third of the same. I kinda get the feeling a lot of the "multiple ways to declare functions" is just people who don't understand how the pieces of javascript fit together and think these are all independent. They're not. Just declaring a function has only a few ways, but declaring a function and giving it a name multiplies that out to some extent.
In javascript, functions are first-class objects: they can be assigned to variables and passed around just like numbers or strings. That's what everything except "function foo() {}" is doing.
Perhaps it could be misaligned incentives? The primary variable YT optimizes for is time spent on the platform. Being able to instantly find and skip ahead to the part you wanted means you didn’t spend the extra time that you would’ve otherwise.
Granted, I can’t see this specific feature really moving the needle one way or the other. But, internally, they might apply some sort of lens to their decision making that asks “does this increase or decrease time spent and eyeballs monetized?”, and if that is the case then there is a real argument to be made that this feature would not meet the standard for a “good feature”, based off that criteria.
Probably more likely that their entire UI is just so deeply fine tuned and A-B tested that any individual change to it has a lot of friction, lest they push an update that decreases watch time by 0.1%.