One of my teacher in Highschool complained that we were pretty bad at cheating. She then decided to teach us how to do it properly. The idea was that is you prepare how to cheat, you’re in a way preparing what you’ll need the day of the exam, and having the knowledge of what you’d need was indeed better that not preparing it at all.
For some of us, it was a nice way to point out that finding the most important parts of the class was half the work of preparing the exams.
Not really cheating, but one of the exams in my first year in uni allowed all materials you wanted to be present during the exam.
Did it make it easier? Heck no.
I had several classes in university like that. One of them was both the most challenging class I’ve ever taken (exams included), even if you were allowed to bring in every scrap of information you wanted.
The professor would create exams that, generally, would take about 5 hours to complete, but the exam was only 3 hours long. In his own words, students were not expected to finish the exam, and were to choose the questions they answered based on what they thought they could accomplish in the time given. Each question had a different point value (e.g. 15 points, 5 points, etc.), but the full exam didn’t have a fixed number of total points (well, you could add up all the points for all the questions, but seeing as no one was going to finish the exam, that was a non-starter).
He would then grade all of the questions on all of the tests, and then determine the total number of points the exam was out of retroactively, based on the distribution of questions/points answered.
I thought it was complete insanity at the time, but it actually turned out quite good. I was less stressed during the exam because of the complete removal of time pressure.
Lucky you. We actually had 5h exams. All the questions had to be answered. A couple of other teachers believed the maximum score (20 out of 20) was for God, the next best (19 out of 20) was for the teacher and the student could, at the very best, score 18 out of 20. GPAs were shot. Exam scores were not adapted based on the actual answers like you described, so sometimes more than half the class failed to reach the minimum score to pass (10 out of 20 or 12 out of 20).
This reminds me the “classes préparatoires” in France. (https://en.m.wikipedia.org/wiki/Classe_pr%C3%A9paratoire_aux_grandes_%C3%A9coles)
The best students are expected to be around 10/20.
This is incredibly cool. It’s steganography, but applied in one of the most brilliant fashions I’ve ever seen.
Spent the weekend playing with hardware devices. Reached a point where I can control a ceiling light in the way I want to, with a Sonoff Basic. (Only destroyed one of them along the way too, score.) It’s currently soak testing on my dining table with a table light, but the plan this week is to install it into the ceiling of my office. (Basic gist, relay in the Sonoff controls the light on/off, and the light switch on the wall completes a circuit on GPIO14 pin to toggle the relay. Plus wifi controlled from Home Assistant/HomeKit.)
Also reverse engineered a battery receiver for my wireless doorbell (Wilko’s cheapest), and wired that into a Raspberry Pi successfully. When someone rings my doorbell, GPIO pin is pulled high and go-doorbell daemon emits the event into MQTT. I then have a script in Home Assistant that pauses my Sonos speakers, plays a doorbell sound through them and restores whatever the speakers were doing beforehand. Obligatory Tweet about the project
This week I’m aiming to have control of my office via HomeKit/Siri. (“Hey Siri, turn the office on/off”.) That just involves a ceiling light coming on, and a wall socket turning on. (via Sonoff Basic & Sonoff S20 running Tasmoto firmware.)
I’ve also promised someone a blog post about how I hooked up the doorbell, so I’m aiming write that up at some point too.
And waiting to see what cheap electrical goodies from China arrive this week. Downside of cheap, month long shipping: I forget what’s coming; Upside: surprise in every delivery!
Is third party firmware required for sonoff use w/HomeKit|iOS?
Sonoff devices are quite readily available here (thailand) via domestic online shopping, but I’m hesitant to get any if they’re not actually usable.
With the current stock firmware they’re controllable by the EWeLink app, and possibly Alexa now. Apparently homekit support is coming, but who knows when.
They’re very hacker friendly pieces of hardware however, which is why there’s a bunch of custom firmware that will basically do most things you want from them without having to write code yourself. They integrate with Home Assistant or homebridge pretty easily (either as HTTP endpoint, or via MQTT server) to get HomeKit support for them.
This is great. I didn’t know about pam_exec either.
The switch to a UDP packet for notification was a good call; since this is just an alerting mechanism, losing a login notification isn’t the end of the world.
GitHub URLs are pretty badly designed.
For example, /contact is their contact page, and /contactt is a user profile.
Apparently, there’s a hardcoded list of ”reserved words” in the code, and when someone adds a new feature, they add the word/path segment there and check that it’s not taken by a user.
So it could perhaps be the case that they’re adding some feature related to malware?
That could very well be the case – and I’d be totally fine with that. I understand being coded into a corner, and wanting to fix things for the greater good at the expense of a few users.
I just can’t figure out why, for the sake of “privacy and security”, they don’t want to tell me.
I think this is absurd behavior on GitHub’s part, and you’re right to be upset by it.
Since you do seem curious, I have a guess why they’re being so evasive, and it’s pretty simple: They’re a large organization. The person you’re talking to would probably need to get approval from both legal and PR teams to tell you about their product plan before it’s launched. I have no information on how busy GitHub’s lawyers and PR people are, but I would expect an approval like that to take a few weeks. Based on what they told you about the timeframe, it sounds like they want to launch their feature sooner than that.
What I’d really like to know is whether this is a one-off, or whether they’ve done it to other people before. It seems like their URL scheme will require it pretty frequently…
The person you’re talking to would probably need to get approval from both legal and PR teams to tell you about their product plan before it’s launched.
Which is why I didn’t single out the support representative that contacted me; they clearly were not in the decision process for any of this, and I don’t want to cause them any undue grief/trouble past my first email reply asking for clarification.
To be clear: I don’t really care about the malware username, other than it’s a pretty cool name. I’m more interested in the reason behind why the forced rename.
Lots of people (read: salty News of Hacker commenters) say it’s obvious (wanting to reserve the /malware top level URL) and call me dumb for even asking, but no one has given me any evidence other than theories and suppositions. Which is great! I love thinking and hypothesizing.
I don’t have any documented evidence other than anecdotal, but when I worked at a similar company with an almost identical URL structure this was one of the hardest parts of launching a new top level feature. It turns out recognizable words make for good usernames… so it’s almost impossible to find one that’s still available when working on a new feature. The choice ends up being between picking a horrible URL or displacing one user to make it easier to find.
It’s also worth noting that GitHub has a habit of being very secretive about what they’re working on - it’s almost impossible to get information about known bugs which have been reported before, let alone information about a potential new feature.
I would be willing to bet that this is being done for something we’ll hear about in the next year or two.
The curse of mounting user paths directly to /. When in doubt, always put a namespace route on it.
That was my thought as well. I would imagine they want it as a landing page for some new feature or product.
There are many, many other usernames in use that I would consider to have the same level of negative connotation in the software world. Here are three that I thought up in about 15 seconds:
Unless each one of those accounts is also being changed/removed, and I’m simply the first one to point this out, how is “malware” any worse than “virus” or “hacker”?
Oh sorry my post wasn’t intended to make any judgement on the name or github’s actions. It’s just for everyone who would only click through to read what the name was.
I think they are not interested in whether it sounds negative or not.
They probably want that URL for one of their upcoming products.
This is a good post. Lots of good, real-world information in there.
I’ve been a remote worker for ~9 out of the last 15 years or so of my professional career. It’s not always sunshine & roses, but it’s something that I’ve come to enjoy and structure my life around. It would most definitely be hard to go back to a traditional office, at least for me.
Flat org structures are celebrated right now, but they imply high overhead for junior developers since mentoring and management must be entirely ad-hoc. Reversing this trend would require companies to shift mindsets from “a senior developer is a replaceable cog” to “a senior developer is a low level manager who grows more senior developers out of a small, productive team”. I’d bet most startup level companies would read that and think “ew, gross, middle managers”, or “ew, gross, spending money on developing people who will just leave”.
This rings very true. We resisted the typical hierarchy as much as possible for many years, and we finally relented once we realized that, with junior developers and designers, structure is necessary for their development.
I’m very lucky to be part of a startup that takes the second interpretation of senior developer, and does a good job of hiring a mix of junior and senior.
This is very clever.
However, this seems like solving the symptom rather than the cause: if the command and/or history of commands was important enough, shouldn’t a more rigorous approach towards provisioning be adopted? Or even command aliases?
Almost every time I’ve had to go looking through my (ba|z)sh history, it’s been indicative of a failure in my own processes, whether they be for remotely administering servers, or even my own personal machine.
It depends on your usage patterns. If you’re doing the same workflows over and over again more process can help. But a complex command you ran one time six months ago is best captured in command history.
Command history is the place where all automation should begin. In the spirit of YAGNI, don’t create a script until you run the commands manually three times.
Command history is actually a good source of things to automate, if you periodically try to look for patterns.
I know this probably relates to the plugin API that was mentioned, but how likely on a scale of 1-10 is getting AgileBits to create a 1Password extension for qutebrowser?
I looked at their thread for an official Python API - 4.5 years old, and with this response:
Unfortunately, I’m not sure that we will ever have an API for 1Password. There are some security concerns here: opening the door to another application or script could provide a mechanism for a malicious script to send users’ data to a third party. If there were a secure way to implement something like this, our developers would certainly consider it.
With that, my hopes of something official are… pretty low. However, there’s an unofficial Python API - if that works, with the planned plugin API it should be a piece of cake to write a plugin for this.
Well, the post post was written in 2009, and the link to the article is actually to web.archive.org, meaning that there’s a very good chance that the original article has been taken down/removed/lost.
New blog post about character encoding butchering that happens in some web apps, and going to try and release at least one Python lib related to SQLAlchemy testing.
I’m Joël, and I write about math and weird things I find while writing software.
https://nerderati.com
Sadly I don’t write more than ~3-4 posts per year.
Side note: I wrote a blog post about 7 years ago summarizing some stuff in the
ssh_configman pages that I found useful, and I’m (to this day) the no. 1 search result for “ssh config”. Just a fun fact that makes me smile :)